我有类似的东西
from uuid import uuid4 task_id = uuid4() (task1.s(args..) | task2.s() | task3.s()).apply_async(task_id=task_id)
现在我希望这个自定义task_id是第一个任务的任务ID,task1
但是当我尝试从task1
使用中记录它时它是不同的self.request.id
如何在此处设置自定义ID?
如果你想通过TASK_ID在您链的第一个任务,你应该调用.subtask()
哪个比暴露更多的选择.s()
或.si()
:
from celery.utils import uuid first_task_id = uuid() (task1.subtask(args=(..), task_id=first_task_id) | task2.s() | task3.s()).apply_async()