← Back to team overview

openerp-india team mailing list archive

[Bug 944273] Re: Scheduler is not working when OpenERP is running with gunicorn

 

It seems we forgot to close this bug.

A fix was provided in 6.1 at revision 4184, revision-id:
xal@xxxxxxxxxxx-20120530081258-35p658buwgz0d0a7 back in may.

It provides a separate program called 'openerp-cron-worker' that simply
processes cron jobs. This means that when running OpenERP behind
Gunicorn, you can run one or more 'openerp-cron-worker' to have one or
more cron-handling processes. This works on a separate machine too. This
is not very nice from an ops perspective as you need to manage an
additional executable, but should prove quite flexible and effective.

This fix is not yet forward-ported in trunk. We might try to provide
something a bit different (although the principle should remain the
same).

** Changed in: openobject-server
       Status: Confirmed => Fix Released

-- 
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/944273

Title:
  Scheduler is not working when OpenERP is running with gunicorn

Status in OpenERP Server:
  Fix Released

Bug description:
  The OpenERP scheduler ois not working correctly in version 6.1 when
  OpenERP is running using gunicorn. In the initial investigations that
  I've done I think that the problem is because each gunicorn worker is
  running in a separate thread, so the memory space is different.
  OpenERP is designed to be stateless, so this should be fine. However,
  in the case of the scheduler, tasks are being pushed and popped from
  the heap... which will be different for each process.

  I think that a more robust solution would be add the tasks to the
  database and the cron Master Thread process would read from the
  database (instead of the heap).

  This is straightforward to verify: create some scheduled actions that
  are due to be run (there are some in the system by default) and start
  OpenERP using gunicorn. You should see that the scheduled actions
  aren't run. Then compare what happens when OpenERP is started in a
  single-threaded manner e.g. ./openerp-server -d dbname. This time
  you'll see that the schedule actions are run.

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


References