Skip to content

A library to create a task with a specified execution/start time and schedule it to run in the future.

License

Notifications You must be signed in to change notification settings

galipnik/django-future-tasks

 
 

Repository files navigation

Django Future Tasks

PyPI version Run linter and tests Codecov

A library to create a task with a specified execution/start time and schedule it to run in the future.

Installation

  1. Install using pip:
pip install django-future-tasks
  1. Add the library to your INSTALLED_APPS list.
INSTALLED_APPS = [
    ...
    'django_future_tasks',
    ...
]
  1. Configure the task types in your settings.py according to your needs:
# within settings.py

FUTURE_TASK_TYPE_ONE = "task_one"
FUTURE_TASK_TYPE_TWO = "task_two"

FUTURE_TASK_TYPES = (
    (FUTURE_TASK_TYPE_ONE, _("Task 1")),
    (FUTURE_TASK_TYPE_TWO, _("Task 2")),
)

Usage

To receive a signal, register a receiver function using the signal future_task_signal and the task type as sender. The instance is the FutureTask object.

@receiver(future_task_signal, sender=intern(settings.FUTURE_TASK_TYPE_ONE))
def my_function(sender, instance, **kwargs):
    # do something

Command for starting the future task processing

python manage.py process_future_tasks

Django Compatibility Matrix

If your project uses an older verison of Django or Django Rest Framework, you can choose an older version of this project.

This Project Python Version Django Version
1.0.* 3.8, 3.9, 3.10, 3.11 3.2, 4.0, 4.1

About

A library to create a task with a specified execution/start time and schedule it to run in the future.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%