django-orchestra-test/orchestra/contrib/tasks
Jorge Pastor 39eea70b79 inicio 2023/07/09
edited 2023/11/24 by pedro
2023-11-24 02:23:54 +01:00
..
management/commands Removed unused imports and patterns 2015-05-19 13:27:04 +00:00
README.md Fixes on systemuser backend 2015-10-15 22:31:54 +00:00
__init__.py PEP8 compliance 2015-10-05 13:31:08 +00:00
admin.py inicio 2023/07/09 2023-11-24 02:23:54 +01:00
apps.py Fixes on periodic tasks 2015-05-09 18:53:23 +00:00
beat.py Rename `async`--> `run_async` 2021-03-30 12:51:12 +02:00
decorators.py PEP8 compliance 2015-10-05 13:31:08 +00:00
parser.py Added tasks app 2015-05-03 17:44:46 +00:00
schedules.py PEP8 compliance 2015-10-05 13:31:08 +00:00
settings.py Random fixes 2015-07-21 12:23:40 +00:00
tasks.py Random fixes 2015-07-21 12:23:40 +00:00
utils.py Rename `async`--> `run_async` 2021-03-30 12:51:12 +02:00

README.md

This is a wrapper around djcelery and celery @task and @periodic_task decorators. It provides transparent support for switching between executing a task on a plain Python thread or the traditional way of pushing the task on a queue (rabbitmq) and wait for a Celery worker to run it.

A queueless threaded execution has the advantage of 0 moving parts instead of the alternative rabbitmq and celery workers. Less dependencies, less memory footprint, less points of failure, no process keeping, no independent code reloading for the workers.

If your application needs to run thousands or milions of tasks a day, use celery as your backend, if tens or hundreds, then probably the default thread backend will be your best choice.