我正在创建一组任务并将它们添加到队列中。
def process(self, request, queryset):
tasks = group([
mytask.s(user_id=obj.id)
for obj in list(queryset)
])
result = tasks.applay_async()
每个单独任务的结果根据设置保存在模型TaskMeta的django数据库中:
CELERY_TASK_SERIALIZER='json'
CELERY_RESULT_SERIALIZER='json'
CELERY_RESULT_BACKEND='djcelery.backends.database:DatabaseBackend'
但是,我看不到模型TaskSetMeta的任何新行。
此模型是否仅适用于celery.task.sets.TaskSet
对象,目前已弃用?
答案 0 :(得分:0)
在django-celery中,不会自动保存group()和TaskSetMeta
的结果,就像单个任务和TaskMeta
一样。要在TaskSetMeta
创建记录以创建群组任务,您必须在结尾处致电.save()
:
def process(self, request, queryset):
tasks = group([
mytask.s(user_id=obj.id)
for obj in list(queryset)
])
result = tasks.apply_async()
result.save()