Python 什么时候和芹菜一起散开与延迟
在我学习芹菜的过程中,试图找出最佳实践 我想在另一份工作中分散出一堆小工作。我知道分组是从一堆排队的小工作中获得结果的好方法,但是如果我不关心结果呢?我只想把一个大任务分成一堆小任务。在这种情况下,在循环中调用延迟也是一样的吗 当想要散开时,使用组,并在父作业中排列一组较小的作业,这仍然是最佳做法吗?下面是一些伪代码作为示例Python 什么时候和芹菜一起散开与延迟,python,django,celery,Python,Django,Celery,在我学习芹菜的过程中,试图找出最佳实践 我想在另一份工作中分散出一堆小工作。我知道分组是从一堆排队的小工作中获得结果的好方法,但是如果我不关心结果呢?我只想把一个大任务分成一堆小任务。在这种情况下,在循环中调用延迟也是一样的吗 当想要散开时,使用组,并在父作业中排列一组较小的作业,这仍然是最佳做法吗?下面是一些伪代码作为示例 @app.task def call_job(job_args): groups([for small_job.s(x) for x in job_args]).
@app.task
def call_job(job_args):
groups([for small_job.s(x) for x in job_args]).delay()
@app.task
def small_job(x):
# do something
vs
我认为您应该使用第二种方法(
for
loop):
- 当您想知道所有较小的任务都已完成时(因为您想一起查看它们的结果),请使用
group
- 当只有在所有任务完成后才能执行另一个操作/任务时,请使用
(和弦)group
for
循环
@app.task
def call_job(job_args):
for x in job_args:
small_job.delay(x)
@app.task
def small_job(x):
# do something