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.