Цепочка задач в сельдерее - PullRequest
0 голосов
/ 05 мая 2020

Мне нужно выполнить некоторые задачи в определенном порядке, но у меня возникли некоторые проблемы с их работой.

Давайте рассмотрим эти задачи в качестве примеров

#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()

Вышеупомянутое я сделал после некоторых других ответов и документы.

Проблема в том, что эти задачи, кажется, вообще не запускаются при вызове.

Ожидаемое поведение:

Видение задач в очереди и вывод на консоль сельдерей

Фактическое поведение:

Нет задач в очереди, выходные данные не отображаются.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...