Is that true even with immediate=True? If so, what is the recommended way 
to reduce this to 0.5 seconds or so? I have an app in which a user requests 
somethng; that request launches 1-10 other web requests, and the user keeps 
refreshing until they all complete for the summarized result. (I will 
probably replace this with an ajax poll or a ws notification instead later 
on).

Any time before the first assignment is essentially "dead time" that I 
would like to avoid. What's the best way to do so?
I understand the scheduler might not have been designed for this setting 
(although otherwise it is perfect) - if I want to hack it, to e.g. checkl 
some shared flag (e.g. create a file) that will be signaled on queue_task) 
to try to assign things, would that work? would that be accepted upstream? 
Or should I just implement my own queue/scheduler for this?

I cannot reproduce the several minute wait right now - I'm now getting the 
expected 10-15 seconds (Possibly there was a database contention or 
something like that that caused database access to stall - but the logging 
looked like things were running). But what could "go wrong" that would 
cause minutes of delay?

On Sunday, November 30, 2014 2:43:15 PM UTC+2, Niphlod wrote:
>
> when nothing is going wrong, and with default values, you can expect to 
> queue a task and have it assigned in 15 seconds. if that's not the case, 
> something is going "wrong" (other tasks are being processed, workers not 
> ready, db contention, etc etc etc)
>
> On Friday, November 28, 2014 8:02:15 PM UTC+1, nick name wrote:
>>
>> Related, but not exactly the same question:
>>
>> I'm submitting an immediate task in a regular (no sleep or anything -- 
>> though no special commit either); I can see it's queued for seconds and 
>> sometimes minutes before getting assigned and running.
>>
>> There are no other tasks waiting or running, there are one or two 
>> schedulers running (one starts with app server, one independently - but I 
>> tried only one with same results). Before I dig deep into debugging the 
>> scehduler - is there something simple I might be missing?
>>
>> Other things:
>>
>> main app db, auth db and sched db are all different, and all are SQLite 
>> files. Running on Linux. Tasks are given a uuid by me (easiest way to track 
>> if something was done in a previous run or not - uuid reflects the exact 
>> operation needed).
>>
>> Thanks in advance.
>>
>> On Friday, November 28, 2014 7:30:44 PM UTC+2, Niphlod wrote:
>>>
>>> def test():
>>>      newid = sched.queue_task(...., immediate=True)
>>>      db.commit() #the db instance where the scheduler is
>>>      while True:
>>>          rtn = sched.task_status(newid)
>>>          if rtn.status == 'COMPLETED':
>>>                ...blablabla
>>>                break
>>>          time.sleep(3)
>>>
>>>
>>> not tested (haven't a web2py to try it on ATM) but you get the idea....
>>>
>>> On Friday, November 28, 2014 7:30:18 AM UTC+1, Manuele wrote:
>>>>
>>>> Hi, 
>>>> I would like to add an immediate task to the scheduler and wait for the 
>>>> result within the same submit. Is it possible? How? 
>>>>
>>>> Thank you very mutch 
>>>>
>>>>     Manuele 
>>>>
>>>

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to web2py+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to