← Back to team overview

openerp-india team mailing list archive

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

 

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
Indian Team, 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


Follow ups