我正在使用celerybeat开始执行许多次要任务的主要任务.我已经写了两个任务.
有没有办法轻松做到这一点?Celery是否允许从任务中运行任务?
我的例子:
@task
def compute(users=None):
if users is None:
users = User.objects.all()
tasks = []
for user in users:
tasks.append(compute_for_user.subtask((user.id,)))
job = TaskSet(tasks)
job.apply_async() # raises a IOError: Socket closed
@task
def compute_for_user(user_id):
#do some stuff
Run Code Online (Sandbox Code Playgroud)
compute从celerybeat调用,但在尝试运行时会导致IOError apply_async.有任何想法吗?