Гарантированы ли задачи цепочки сельдерея для одного и того же рабочего узла? - PullRequest
0 голосов
/ 01 июня 2018

Гарантировано ли выполнение цепочек задач сельдерея на одном и том же рабочем узле?

Я знаю, что могу создать очередь для выделенных задач, однако моя цепочка задач включает создание файлов png, которые необходимо отправить на S3,Создание файлов PNG - это другая задача в цепочке, поэтому, если они запускаются с разными работниками, следующие задачи могут не найти файл PNG.

Я не хочу создавать для него отдельную очередь, потому что в противном случае япотребуется выполнить все задачи в этой конкретной очереди и нигде больше.

 result = (process_diode.s() | plot_results.s() | send_to_s3.s()).apply_async()

В приведенном выше коде, если задача plot_results и задача send_to_s3 выполняются в разныхработников, то нет никакой гарантии, что файл png будет там.

Наличие гарантии, что все задачи внутри цепочки выполняются в одном и том же рабочем узле, мне достаточно.Это тот случай?

1 Ответ

0 голосов
/ 01 июня 2018

Нет, такой гарантии абсолютно нет.Здесь у вас есть два решения: либо написать одну задачу, которая будет выполнять все три действия одновременно, либо использовать общую файловую систему для хранения ваших файлов.

...