Hi, given the fact that I left untouched the heartbeats value and that my worker was performing only the test task, I got odd starting values: t1: 2013-03-25 15:34:43 t2: 2013-03-25 15:40:48 ( t2 started after 6m + 5s = 365seconds ) t3: 2013-03-25 15:46:52 ( t3 started after 6m + 4s = 364seconds ) t4: 2013-03-25 15:52:08 ( t4 started after 5m +16s = 316seconds ) t5: 2013-03-25 15:57:22 ( t5 started after 5m +14s = 314seconds )
Given these starting values, it seems that only the last one is under 315. I think we should investigate more how scheduler runs repetitive tasks. Paolo 2013/3/25 Niphlod <[email protected]> > The scheduler is not as "precise" as you would because there are some > design considerations to think of.... > > The "uber-costraint" is that a worker can execute only one task at a time > --> if the scheduler is busy with something else, queued tasks can be > "delayed" down the line > If the worker is free, new tasks are checked every 5*heartbeats seconds, > so (unless immediate=True) you can get a timeframe for execution that spans > in the worst case scenario with the default values by 15 seconds > > This means that in the worst case scenario you could have a repeating task > with a 300 seconds period that are actually executed every 315 seconds. > > To clear out doubts, for repetitive tasks, as documented in more detail in > the w2p_scheduler_tests app, the start time of the next execution is > calculated adding period seconds after the start time of the current > execution. > Lockings on the db can add more "imprecision", cause by the default the > scheduler is eager to store/update whatever it needs to, to ensure > consinstency between the real executions and the data stored on the tables. > > > On Monday, March 25, 2013 4:23:56 PM UTC+1, Paolo valleri wrote: >> >> Dear all, >> I started to use scheduler. I've created a simple starting example task: >> https://github.com/ilvalle/**scapp/blob/master/models/**scheduler.py<https://github.com/ilvalle/scapp/blob/master/models/scheduler.py> >> and with the great niphlod's plugin cs_monitor_plugin I created an >> initial repetitive task. >> However, although I set repeats: 0 and period: 300, tasks are not >> repeated as expected exactly every 300s. The first five tasks were executed >> at: >> 2013-03-25 15:34:43 >> 2013-03-25 15:40:48 >> 2013-03-25 15:46:52 >> 2013-03-25 15:52:08 >> 2013-03-25 15:57:22 >> The time between two consecutive execution is not so straightforward. >> what am I missing? Is there a way to impose more accuracy ? >> >> paolo >> > -- > > --- > You received this message because you are subscribed to a topic in the > Google Groups "web2py-users" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/web2py/u_PgzKLuQmw/unsubscribe?hl=en. > To unsubscribe from this group and all its topics, send an email to > [email protected]. > For more options, visit https://groups.google.com/groups/opt_out. > > > -- --- 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 [email protected]. For more options, visit https://groups.google.com/groups/opt_out.

