Skip to main content

...

Project description

dj-scheduledtasks

Run tasks at a scheduled time

PyPI version

Installation

pip install

pip install dj-scheduledtasks

add to installed apps:

INSTALLED_APPS = [
    ...
    'scheduledtasks',
]

Getting started

from scheduledtasks.models import ScheduledTask

Adding a reverse lookup to your model

You might want to be able to access the list of scheduled tasks on a model. To make this easy, you can add a GenericRelation field

from django.contrib.contenttypes.fields import GenericRelation
from scheduledtasks.models import ScheduledTask

class Todo(models.Model):
    ...
    scheduled_tasks = GenericRelation(ScheduledTask)

You can then access scheduled_tasks_set just as you would any other ForeignKey field

Schedule a task:

Explicit schedule

# minimal usage
ScheduledTask.schedule('example_project.tasks.remind_if_due')
# minimal usage
ScheduledTask.schedule('remind_if_due')

Schedule from a related object

You can also schedule infer the scheduled time from an object by passing the object instance, a field and an offset. e.g.:

# run a task 60 minutes after the due date
ScheduledTask.schedule_by_object(
    todo,
    'example_project.tasks.remind_if_due',
    'due_date',
    offset=60
)

.. or just use the model directly

Create a task

Ways to run a task

Cleanup old tasks

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for dj-scheduledtasks, version 0.0.3
Filename, size File type Python version Upload date Hashes
Filename, size dj-scheduledtasks-0.0.3.tar.gz (4.8 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page