c2c-oerpscenario team mailing list archive
-
c2c-oerpscenario team
-
Mailing list archive
-
Message #29507
[Bug 816858] Re: ir.cron can't be inherited properly
Actually, the self.pool.get() thing is done in the new scheduler so
anything is possible. For the first problem, you would have to implement
a new way to compute the next time a job has to be run. This computation
could be moved to its own method if you need to inherit from it. The
second problem is easier as you simply need to override the _callback()
method.
So basically, the solutions is indeed involving a dynamic self.pool.get
as you suggested to let you inherit some methods, but at a smaller
granularity than the full _poolJobs method (which you will still be able
to reimplement if you want).
Anyway as I said, if you end up customizing significantly ir.cron, it is
pretty easy to not start the normal ir.cron scheduling.
--
You received this bug notification because you are a member of C2C
OERPScenario, which is subscribed to the OpenERP Project Group.
https://bugs.launchpad.net/bugs/816858
Title:
ir.cron can't be inherited properly
Status in OpenERP Server:
Invalid
Bug description:
Hi,
I'm working on ir.cron to extend its possibilities, but it can't be
inherited easily. The problem is that when the server starts, the
method _poolJobs of ir.cron is called. This method reference itself
with this line :
self.setAlarm(self._poolJobs, next_call, db_name, db_name)
The problem is that if you inherit ir.cron, the _poolJobs method will
not reference the new object, but keep referencing the old one. This
means that if you redefine _callback() in your new ir.cron, it will
never be called.
I think that a small fix could be to use setAlarm on
self.pool.get('ir.cron')._poolJobs ?
To manage notifications about this bug go to:
https://bugs.launchpad.net/openobject-server/+bug/816858/+subscriptions
Follow ups
References