Я хочу создать группу из списка, возвращаемого задачей Celery, так что для каждого элемента в наборе результатов задачи одна задача будет добавлена в группу.
Вот простой пример кода, чтобы объяснить пример использования. ???
должен быть результатом предыдущей задачи.
@celery.task
def get_list(amount):
# In reality, fetch a list of items from a db
return [i for i in range(amount)]
@celery.task
def process_item(item):
#do stuff
pass
process_list = (get_list.s(10) | group(process_item.s(i) for i in ???))
Я, вероятно, не подходит к этому правильно, но я уверен, что небезопасно вызывать задачи из задач:
@celery.task
def process_list():
for i in get_list.delay().get():
process_item.delay(i)
Мне не нужен результат из задачи секунд.