python - Celery:获取上次运行任务的时间?

标签 python django celery

使用 celery , 是否可以从任务中检查上次运行该任务的时间?

我想实现“抓取自上次运行以来的所有内容”。我可以自己跟踪上次运行的时间戳,也可以希望从 celery 访问它。

这是来自 django 项目,如果有区别的话。

最佳答案

默认情况下,celery 不会永久存储任务结果,如果您以节拍模式运行,则会运行一些干净的进程以获得干净的任务结果以及执行信息。 我建议您使用 NoSQL 来存储每个最后执行日期,您可以通过在您的任务中覆盖方法 after_return 来做到这一点

def after_return(self, status, retval, task_id, args, kwargs, einfo):
    #exit point for context managers
    self.taskLogger.__exit__(status, retval, task_id, args, kwargs, einfo)

每次任务结束时都会调用此方法,无论结果如何,通过检查状态,您可以仅在任务成功完成或实现最适合您需要的行为时存储您的日期。

关于python - Celery:获取上次运行任务的时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6837617/

相关文章:

python - 在没有for循环的情况下比较Numpy中两个3D矩阵的数组

python - 没有显示任何错误的 Django 表单无效

python - 如何监控 celery 中的队列健康状况

python - django-celery 作为 virtualenv 中的系统服务

python - 使用 spacy 和 Matcher 提取 NER 主语 + 动词的问题

python - Theano 在树莓派上使用 Keras

python - 在前瞻和后瞻之间选择部分

python - Django rss feedparser 返回一个没有 "title"的提要

django - AWS S3 Bucket返回403禁止

rabbitmq - Celery - RabbitMQ - 执行顺序