mirror of
https://github.com/django-q2/django-q2.git
synced 2026-09-15 13:37:56 +08:00
89 lines
2.4 KiB
ReStructuredText
89 lines
2.4 KiB
ReStructuredText
Schedules
|
|
=========
|
|
|
|
Schedules are regular Django models. You can manage them through the :ref:`admin_page` or directly from your code with the :func:`schedule` function or the :class:`Schedule` model:
|
|
|
|
.. code:: python
|
|
|
|
from django_q import Schedule, schedule
|
|
|
|
# Use the schedule wrapper
|
|
|
|
schedule('math.copysign',
|
|
2, -2,
|
|
hook='hooks.print_result',
|
|
schedule_type=Schedule.DAILY)
|
|
|
|
# Or create the object directly
|
|
|
|
Schedule.objects.create(func='math.copysign',
|
|
hook='hooks.print_result',
|
|
args='2,-2',
|
|
schedule_type=Schedule.DAILY
|
|
)
|
|
|
|
|
|
.. py:function:: schedule(func, *args, hook=None, schedule_type='O', repeats=-1, next_run=now() , **kwargs)
|
|
|
|
Creates a schedule
|
|
|
|
:param str func: the function to schedule. Dotted strings only.
|
|
:param args: arguments for the scheduled function.
|
|
:param str hook: optional result hook function. Dotted strings only.
|
|
:param str schedule_type: (O)nce, (H)ourly, (D)aily, (W)eekly, (M)onthly, (Q)uarterly, (Y)early or :attr:`Schedule.TYPE`
|
|
:param int repeats: Number of times to repeat schedule. -1=Always, 0=Never, n =n.
|
|
:param datetime next_run: Next or first scheduled execution datetime.
|
|
:param kwargs: optional keyword arguments for the scheduled function.
|
|
|
|
.. class:: Schedule
|
|
|
|
A database model for task schedules.
|
|
|
|
.. py:attribute:: func
|
|
|
|
The function to be scheduled
|
|
|
|
.. py:attribute:: hook
|
|
|
|
Optional hook function to be called after execution.
|
|
|
|
.. py:attribute:: args
|
|
|
|
Positional arguments for the function.
|
|
|
|
.. py:attribute:: kwargs
|
|
|
|
Keyword arguments for the function
|
|
|
|
.. py:attribute:: schedule_type
|
|
|
|
The type of schedule. Follows :attr:`Schedule.TYPE`
|
|
|
|
.. py:attribute:: TYPE
|
|
|
|
`ONCE`, `HOURLY`, `DAILY`, `WEEKLY`, `MONTHLY`. `QUARTERLY`, `YEARLY`
|
|
|
|
.. _repeats:
|
|
|
|
.. py:attribute:: repeats
|
|
|
|
Number of times to repeat the schedule. -1=Always, 0=Never, n =n.
|
|
When set to -1, this will keep counting down.
|
|
|
|
.. py:attribute:: next_run
|
|
|
|
Datetime of the next scheduled execution.
|
|
|
|
.. py:attribute:: task
|
|
|
|
Name of the last task generated by this schedule.
|
|
|
|
.. py:method:: last_run()
|
|
|
|
Admin link to the last executed task.
|
|
|
|
.. py:method:: success()
|
|
|
|
Returns the success status of the last executed task.
|
|
|