python - 如何将参数传递给 celery 的任务?

标签 python redis celery

对于我的 Web 应用程序,我使用 celeryredis 后端。官方FAQ如果我有任务的 ID,则可以通过以下方式获取任务的结果。

result = my_task.AsyncResult(task_id)
result.get()

我可以轻松访问任务主体中的参数:

@app.task
def my_task(foo, bar, baz=None):
    kwargs = self.request.kwargs
    args = self.request.args

有没有办法从 AsyncResult 或任何只有任务 ID 的地方获取 argskwargs

最佳答案

对于新的 Celery 版本,您可以激活“result_extended”并从任务对象获取参数:

app.conf.update(
   result_extended=True
)

然后,只需:

print(task.args)

关于python - 如何将参数传递给 celery 的任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44390531/

相关文章:

python - 为 `ClassTask` mixin 子类化 Celery Task

python - 从字典列表中检索值

python - 每次我的字符串从文本更改为数字时,如何插入字符 ('-"),反之亦然?

node.js - Redis 连接从关闭事件中消失

c# - Redis超时异常

python - 我们如何在生产服务器中运行 celery 命令?

jquery - 使用 django 将实时控制台数据从服务器发送回客户端

python - 停用 QT Designer 中的复选框

c# - Azure Redis StackExchange.ASP.net MVC 中的 Redis ConnectionMultiplexer

python - celery 不采摘 CELERY_ALWAYS_EAGER 设置