Django Cerrery 第二个任务未执行



我创建了一个执行另一个shared_task的芹菜shared_task

@shared_task(base=WorkerBase,
name='analytics.worker-tenant',
rate_limit='3/m')
def worker_tenant():
tenants = Tenant.objects.values_list('id', 'contexttenant')
print('first:worker_tenant')
for tenant in tenants:
worker_update_tenant.delay(tenant[0], tenant[1])

@shared_task(name='analytics.worker-update-tenant',
autoretry_for=(HTTPError, ConnectionError),
retry_backoff=True)
def worker_update_tenant(id, context, timespan=timedelta(weeks=1)):
print('worker_update_tenant')

我得到第一个打印first:worker_tenant的输出,但没有worker_update_tenant第二个打印的输出。

我也尝试用apply_async(args=(...))调用第二个任务,但这也没有用!

我设法通过使用带有组的生成器来使其工作:

group(
worker_update_tenant.s(tenant[0], tenant[1]) for tenant in tenants
).apply_async()

相关内容

  • 没有找到相关文章