Мне нужно выполнить некоторые задачи в определенном порядке, но у меня возникли некоторые проблемы с их работой.
Давайте рассмотрим эти задачи в качестве примеров
#tasks.py
@shared_task
def task_1(arg):
print('task_1')
@shared_task
def task_2(arg):
print('task_2')
@shared_task
def task_3(arg):
print('task_3')
Каждая задача будет возьмите такую же arg
. Не вдаваясь в подробности, результат первой задачи отправляется в базу данных, затем этот результат используется второй задачей и так далее. Это означает, что мне не нужно значение return
из task_1
для отправки на task_2
.
Я делаю следующее
#otherFile.py
from tasks import task_1, task_2, task_3
from celery import chain
def handle_tasks(some_argument):
chain(task_1.s(some_argument), task_2.s(some_argument), task_3.s(some_argument)).apply_async()
Вышеупомянутое я сделал после некоторых других ответов и документы.
Проблема в том, что эти задачи, кажется, вообще не запускаются при вызове.
Ожидаемое поведение:
Видение задач в очереди и вывод на консоль сельдерей
Фактическое поведение:
Нет задач в очереди, выходные данные не отображаются.