How to split Celery tasks file
Suppose there is a large tasks.py
file, like this:
@celery.task()
def task1():
...
@celery.task()
def task2():
...
task1.delay()
...
...
A good idea is to split it on the smaller files,
but Celery auto_discover
by default search tasks in package.tasks
module, so one way to do this is to create a package tasks
and import tasks from other files
in __init__.py
.
__init__.py
from .task1 import task1
from .task2 import task2
__all__ = ['task1', 'task2']
task1.py
@celery.task()
def task1():
...
task2.py
from .task1 import task1
@celery.task()
def task2():
...
task1.delay()
...