【问题标题】:Retrieving celery-beat task results检索 celery-beat 任务结果
【发布时间】:2019-07-20 09:09:21
【问题描述】:

我目前有一个 celery beat 任务,它会定期计算一些结果。在外部,我可能有 API 调用(以未知的频率)来查询这个结果。我正在考虑使用“最后一次运行任务”的结果,所以当 API 进行查询时,celery 可以简单地查询节拍任务的最后返回结果。

但是,我没有看到任何有关此行为的文档。我偶尔会看到链接到 celery“任务结果存储”的帖子,但不幸的是所有链接都给了我 404 错误。

【问题讨论】:

    标签: python redis celery


    【解决方案1】:

    我认为这是不可能的。

    即使worker inspect 也没有给出已完成任务的列表,也没有给出它们对应的 ID。或许最好的方式是直接将数据写入redis,稍后再读取。

    可能工作的另一种方法是共享任务中可访问的task id (more) 并使用Retrieve task result by id in Celery 获取结果。

    【讨论】: