如何将任务添加到 Celery 中的组?
How to add a task to a group in Celery?
我想在我的代码中逐步构建一个 group Celery 任务,因为我将基于循环中的逻辑创建任务。
例如:
my_group = group()
for item in items:
if item.is_special():
# This doesn't work...
my_group.add(special_processing.s(item.id))
else:
my_group.add(regular_processing.s(item.id))
res = my_group()
我读到组是偏音,这很好,但是如何组合偏音以便它们形成一个组?
目前我发现的一种简单方法是创建一个任务列表,然后将其转换为一个组。
所以:
tasks = []
for item in items:
if item.is_special():
tasks.append(special_processing.s(item.id))
else:
tasks.append(regular_processing.s(item.id))
res = group(*tasks)
我还没有测试过这个,但如果这不起作用,我会更新这个答案。
我想在我的代码中逐步构建一个 group Celery 任务,因为我将基于循环中的逻辑创建任务。
例如:
my_group = group()
for item in items:
if item.is_special():
# This doesn't work...
my_group.add(special_processing.s(item.id))
else:
my_group.add(regular_processing.s(item.id))
res = my_group()
我读到组是偏音,这很好,但是如何组合偏音以便它们形成一个组?
目前我发现的一种简单方法是创建一个任务列表,然后将其转换为一个组。
所以:
tasks = []
for item in items:
if item.is_special():
tasks.append(special_processing.s(item.id))
else:
tasks.append(regular_processing.s(item.id))
res = group(*tasks)
我还没有测试过这个,但如果这不起作用,我会更新这个答案。