Вы имеете в виду что-то вроде этого :

ery я хочу запускать задачу только тогда, когда все остальные задачи выполнены. Я нашел некоторые ресурсы, как этот:Сельдерей Начало задачи, когда другие задачи выполнены а такжеЗапуск задачи после завершения всех задач Но я новичок в сельдерее и не мог понять выше (или много других ресурсов по этому вопросу).

Итак, я определил задачу как вtasks.py:

@celapp.task()
def sampleFun(arg1, arg2, arg3):
    # do something here

и я называю это так:

for x in xrange(4):    
   tasks.sampleFun.delay(val1, val2, val3)

И я предполагаю, что будет создано 4 разных задания. Это на самом деле происходит, как я вижу то же самое на веб-интерфейсеЦветок сельдерея.

Теперь я хотел бы добавить еще одну задачу. СказатьfinalTask это должно начаться только после того, как все вышеуказанные 4 задачи завершат свое выполнение.

Я также читал некоторые документы нагруппы и аккорды в сельдерее но это говорит о том, что если я хочу сделать это, мне нужно сгруппировать свои задачи вместе, чтобы они выполнялись параллельно. Я не хочу этого делать. (Может быть, это хорошая идея, но сейчас моя цель - уметь понимать вещи. Поэтому в данный момент я не особо сосредоточен на производительности и т. Д.)

Как это сделать? Другой, более простой вопрос, который может показаться довольно глупым: когда мы говорим,tasks.sampleFun.delay это создает асинхронные задачи или нет?

Ответы на вопрос(0)

Ваш ответ на вопрос