Celery タスクによって返されたリストからグループを作成して、タスク結果セットの各項目に対して 1 つのタスクがグループに追加されるようにしたいと考えています。
ユースケースを説明する簡単なコード例を次に示します。は???
、前のタスクの結果である必要があります。
@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)
seconds タスクの結果は必要ありません。