【发布时间】:2018-11-28 10:48:34
【问题描述】:
我创建了一个 celery 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=(...)) 调用第二个任务,但这也没有用!
【问题讨论】:
标签: django celery scheduled-tasks