Urd is a scheduler for Django projects. Some features:
.. [#single]
If tasks take longer to execute than the time to the next execution slot, you get a warning on the next execution. But not simultaneous execution or wild buildup of queues. There is no queue.
.. [#fastdisable]
It's vitally important to be able to stop a runaway process. With the ``heartbeat``, and with the worker reading the database state before executing, it's easy and fast to disable a job.
pip install urd
urd
to INSTALLED_APPS
manage.py migrate
manage.py monitor
tasks.py
module in the app that should have tasks... code-block:: python
@schedulable_task
def my_task(heartbeat):
for foo in bar:
heartbeat()
do_some_task()
Calling heartbeat()
regularly is important to make the task cancellable in a timely manner.
Now define a task in the iommi admin. It will be enabled pretty much as soon as you save.
Urd ships with integration for the iommi <https://docs.iommi.rocks>
_ admin.
Urd (or Urðr, or Wyrd) is one of the Norns, the goddesses who weave the destiny of gods and humans.