#celery-task
#сельдерей-задача
Вопрос:
При работе с цепочками сельдерея 4.3.0 код выглядит следующим образом:
class BaseTask(Task):
def on_success(self, retval, task_id, args, kwargs):
pass
@app.task(bind=True, base=BaseTask)
def add(self, x, y):
return x y
@app.task(bind=True, base=baseTask)
def add_1(self,x, y):
return x y
task = group(add.s(1,3), add_1.s(2,4))()
group_id = task.id
Я могу получить group_id с помощью taks.children[0]._cache.get(«группа»),
Как я могу получить group_id в функциях BaseTask on_success?
Ответ №1:
Вы можете найти идентификатор группы задачи внутри app.task.Request
объекта, доступный через Task
объект, вот так:
class BaseTask(Task):
def on_success(self, retval, task_id, args, kwargs):
group_id = self.request.group
# rest of your code