Я использую celerybeat, чтобы начать основную задачу, которая выполняет ряд второстепенных задач. У меня уже есть две задачи.
Есть ли способ сделать это? Обеспечивает ли сельдерей выполнение задач из задач?
Мой пример:
@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
compute
вызывается из celerybeat, но вызывает IOError при попытке запустить apply_async
. Любые идеи?