Сельдерей: запланируйте запуск новой задачи после завершения существующей задачи. ⇐ Python
Сельдерей: запланируйте запуск новой задачи после завершения существующей задачи.
Предположим, у меня есть следующие задачи по сельдерею:
# 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.
Обратите внимание, что этот код я сильно упростил и может не работать в исходном виде, но, надеюсь, вопрос станет достаточно ясным.
Предположим, у меня есть следующие задачи по сельдерею:
# 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.
Обратите внимание, что этот код я сильно упростил и может не работать в исходном виде, но, надеюсь, вопрос станет достаточно ясным.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Запланируйте выполнение задач с точным временем в Android на короткий интервал
Anonymous » » в форуме JAVA - 0 Ответы
- 12 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Запланируйте выполнение задач с точным временем в Android на короткий интервал
Anonymous » » в форуме Android - 0 Ответы
- 13 Просмотры
-
Последнее сообщение Anonymous
-