← Back to team overview

credativ team mailing list archive

Re: [Bug 715418] Re: [5.x] ir.cron - simultaneous start of cron jobs

 

I would strongly recommend against simultaneous cron jobs for the reason of
serious problems with table locking. If I am running mrp scheduler for
example, it locks every user out of the system, and if you add multiple
actions running on top of this, it is bound to cause failures

On Tue, Nov 29, 2011 at 6:53 AM, Olivier Dony (OpenERP) <
715418@xxxxxxxxxxxxxxxxxx> wrote:

> A little update on this topic: most of the above remarks have been taken
> into account in the new cron system that is included in v6.1/trunk. This
> new system starts concurrent cron jobs, respects their start time as
> much as possible, works with multiple servers (including avoiding
> duplication of execution!), etc.
>
> This revamped cron system is available in trunk as of r.3670 rev-id:
> odo@xxxxxxxxxxx-20110929002157-31pgkmqc96by15ak
>
> As this feature was clearly out of scope for past stable releases, I
> will completely close this bug now that it is done for 6.1.
>
> Thanks to everyone for your suggestions and patches!
>
> ** Changed in: openobject-server
>   Importance: Undecided => Wishlist
>
> ** Changed in: openobject-server
>       Status: Triaged => Fix Released
>
> ** Changed in: openobject-server
>    Milestone: None => 6.1
>
> ** Summary changed:
>
> - [5.x] ir.cron - simultaneous start of  cron jobs
> + ir.cron - simultaneous start of  cron jobs
>
> --
> You received this bug notification because you are a member of OpenERP
> Committers, which is subscribed to OpenERP Server.
> https://bugs.launchpad.net/bugs/715418
>
> Title:
>  ir.cron - simultaneous start of  cron jobs
>
> Status in OpenERP Server:
>  Fix Released
>
> Bug description:
>  We have not checked if this is fixed in v6
>
>  Batch-jobs defined via ir_cron may be started simultaneously/concurrently.
>  (We have seen up to 17 identical executions of the same job)
>
>  /base/ir/ir_cron.py starts timer (via netsvc.startTimer) without
>  checking, whether there is already a timer started for the same point in
>  time (or: without removing such simultaneous timers).
>  Hence, ir_cron._poolJobs will be invoked several times simultaneously.
>
>  I suggest to maintain a list of timers in /base/ir/ir_cron.py which
>  inhibits duplicate timers.
>  Alternatively "duplicate" timers could be removed - although this might
>  be difficult to implement.
>  Such a mechanism could also be implemented within netsvc.startTimer - on
>  the other hand: simultaneous jobs can also be useful (outside ir_cron).
>
>  When are jobs "simultaneous"?
>  I suggest to implement a "time-granularity" which is less or equal the
>  smallest granularity of ir_cron-Jobs, i.e. "minutes".
>  To be on the safe side for long-running jobs, the time-granularity may
>  also be the shortest interval currently defined via ir_cron (e.g. 10
>  minutes).
>
>  any ideas ?
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/openobject-server/+bug/715418/+subscriptions
>

-- 
You received this bug notification because you are a member of OpenERP
Framework Experts, which is subscribed to OpenERP Server.
https://bugs.launchpad.net/bugs/715418

Title:
  ir.cron - simultaneous start of  cron jobs

Status in OpenERP Server:
  Fix Released

Bug description:
  We have not checked if this is fixed in v6

  Batch-jobs defined via ir_cron may be started simultaneously/concurrently.
  (We have seen up to 17 identical executions of the same job)

  /base/ir/ir_cron.py starts timer (via netsvc.startTimer) without 
  checking, whether there is already a timer started for the same point in 
  time (or: without removing such simultaneous timers).
  Hence, ir_cron._poolJobs will be invoked several times simultaneously.

  I suggest to maintain a list of timers in /base/ir/ir_cron.py which 
  inhibits duplicate timers.
  Alternatively "duplicate" timers could be removed - although this might 
  be difficult to implement.
  Such a mechanism could also be implemented within netsvc.startTimer - on 
  the other hand: simultaneous jobs can also be useful (outside ir_cron).

  When are jobs "simultaneous"?
  I suggest to implement a "time-granularity" which is less or equal the 
  smallest granularity of ir_cron-Jobs, i.e. "minutes".
  To be on the safe side for long-running jobs, the time-granularity may 
  also be the shortest interval currently defined via ir_cron (e.g. 10 
  minutes).

  any ideas ?

To manage notifications about this bug go to:
https://bugs.launchpad.net/openobject-server/+bug/715418/+subscriptions


References