Сельдерей: запланируйте запуск новой задачи после завершения существующей задачи.Python

Программы на Python
Anonymous
Сельдерей: запланируйте запуск новой задачи после завершения существующей задачи.

Сообщение Anonymous »


Предположим, у меня есть следующие задачи по сельдерею:

# Tasks.py @app.task защита задачиA(): время.сон(10) вернуть «результат» @app.task защита задачиB (результат): print("Результат получен") В своей программе я регулярно запускаю новые задачи taskA, например:

res = TaskA.apply_async() Keep_for_later(res.id) Иногда во время выполнения моей программы при некоторых условиях мне нужно запустить задачу taskB после завершения задачи taskA.

taskA_id = get_task_id() если условие_is_met(): res = app.AsyncResult(taskA_id) # Как я могу указать сельдерею запустить задачу `taskB` как можно раньше после завершения этой задачи `taskA`, # и с выходными данными задачи А в качестве входных данных для задачи Б? Я запускаю отдельный рабочий процесс сельдерея следующим образом:

celery — рабочий задачи Мне нужно, чтобы обе задачи выполнялись асинхронно на рабочей стороне отдельно от основной программы. Использование сельдерея v5.3.6 в Ubuntu.

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

Вернуться в «Python»