gpt4 book ai didi

python - 如何从@app.task获取celery.Task对象

转载 作者:行者123 更新时间:2023-12-01 07:47:57 25 4
gpt4 key购买 nike

我有一个任务函数:

@app.task(base=ProcessingTask)
def do_processing_task(args):

ProcessingTask继承celery.Task:

class ProcessingTask(celery.Task):
def on_success(self, res, task_id, args, kwargs):

我远程启动任务

result = app.send_task("workerTasks.do_processing_task", args=[args])

(我无法从调用此文件的服务器文件访问workerTasks文件,因此send_task是我需要采取的路线)

在 do_processing_task 中,我想获取ProcessingTask 对象的实例,以便我可以向其中添加一些可以在 do_processing_task::on_success 中使用的数据。

这可能吗?谢谢。

最佳答案

绑定(bind)任务

绑定(bind)任务意味着任务的第一个参数将始终是任务实例(自身),就像 Python 绑定(bind)方法一样:

logger = get_task_logger(__name__)

@task(bind=True)
def add(self, x, y):
logger.info(self.request.id)

关于python - 如何从@app.task获取celery.Task对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56358238/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com