Python 哪种方式调用芹菜中的子任务更好?分组、延迟每个项目或使用回调?
python 3.5 芹菜4.0.2 RabbitMq 3.6.10 我也在尝试获取一些数据,但我不知道哪种方法更合适 数据的结构就像一个表,我需要为每一行推送子任务 这是我用过的Python 哪种方式调用芹菜中的子任务更好?分组、延迟每个项目或使用回调?,python,celery,yield,Python,Celery,Yield,python 3.5 芹菜4.0.2 RabbitMq 3.6.10 我也在尝试获取一些数据,但我不知道哪种方法更合适 数据的结构就像一个表,我需要为每一行推送子任务 这是我用过的 延迟每个项目: @app.task def task(): for row in table: subtask.delay(row) @app.task def subtask(item): dosomething(item) 使用组 @app.task def task():
- 延迟每个项目:
@app.task def task(): for row in table: subtask.delay(row) @app.task def subtask(item): dosomething(item)
- 使用组
@app.task def task(): rows=[] for row in table: rows.append(row) group(subtask.s(row) for row in rows)() @app.task def subtask(item): dosomething(item)
- 利用群与产量
def _task(): for row in table: yield subtask(row).s() @app.task def task(): group(_task())() @app.task def subtask(item): dosomething(item)