Scheduled Actions#
Tryton provides a scheduler (aka cron) which can execute methods of models periodically at set intervals.
The planning is managed by Cron records which store the
method to call and the interval of time between calls.
The method must be a class method of a Model
which can
be called without any parameters.
Note
The timezone used to schedule the action is
timezone.SERVER
.
To register a new method with the scheduler, you must extend the Cron model and append the new method to the
selection
attribute of the method
field in __setup__()
.
The name of the selection must be the model name and the method name joined
together with a |
between them.
Example:
from trytond.model import Model
from trytond.pool import PoolMeta
class Cron(metaclass=PoolMeta):
__name__ = 'ir.cron'
@classmethod
def __setup__(cls):
super().__setup__()
cls.method.selection.append(
('my_model|my_method', "Run my method"),
)
class MyModel(Model):
"My Model"
__name__ = 'my_model'
@classmethod
def my_method(cls):
pass