对于我的 Web 应用程序,我使用 celery
和 redis
后端。官方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 的地方获取 args
和 kwargs
?
最佳答案
对于新的 Celery 版本,您可以激活“result_extended”并从任务对象获取参数:
app.conf.update(
result_extended=True
)
然后,只需:
print(task.args)
关于python - 如何将参数传递给 celery 的任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44390531/