- the new process workers implementation is present along the old one
- new code impacts minimally the old one: just one flag is added to
schedule_wakeup().
bzr revid: vmt@openerp.com-20120329115531-9mbh4mtvktyyi9bv
- The previous implementation was optimized to make few queries to the database
but needed to keep some internal state.
- That state was updated whenever the ir_cron table was modified by the ORM
(this works only when the cron and web processes/threads are inside a single
OpenERP server instance).
- The new implementation is instead polling the database.
- This is deemed acceptable in `normal` situation (i.e. not a SaaS with
thousand of databases).
- This makes it possible to avoid sharing state or the use of IPC.
- This makes it possible to add/remove additional worker processes,
possibly on different machines.
- The code of the older implementation is removed in this commit but
will be added back in a later commit: this is the 6.1 stable branch
and we don't want to change the existing installation, but simply
provide a solution for those running OpenERP with Gunicorn (which
uses processes for which no cron state were shared).
bzr revid: vmt@openerp.com-20120328090320-vshsfv3gt1ck34s1