【发布时间】:2014-09-26 14:42:31
【问题描述】:
我有一堆可以同时执行的任务,但是一旦一切准备就绪,我想执行最后一个。我正在使用以下代码:
chunk_tasks = []
for index, chunk in enumerate(chunks):
chunk_tasks.append(import_chunk.s(meta.pk))
g = group(chunk_tasks)
chord(g)(import_completed.s(meta.pk, max_lines=max_lines))
但是看起来import_completed 在所有任务完成之前执行。 import_chunk 任务也看起来像:
@task(bind=True, ignore_result=IGNORE_RESULTS)
def import_chunk(self, meta_pk):
try:
# do some stuff
except Exception, e:
if self.max_retries == self.request.retries:
logger.exception('Unexpected error in import_chunk')
raise self.retry(countdown=60, max_retries=3)
所以问题是我做错了什么?
【问题讨论】:
标签: python django celery django-celery