0

我正在使用 Django 框架编写一个 Web 应用程序,并且我有一些更高级别的问题,关于如何在特定时间段后自动修改我的数据。

我有两个不同的更新要做:

  1. 我想在每周一上午 12:01 对我的数据库执行一些操作。我一直在想我会运行一个 cron 工作来做到这一点。

  2. 我有一个模型“交易”,它有一个时间创建字段。事务创建48小时后,我想切换事务中的一些布尔字段,并对其他相关对象进行一些更改。

我对#2 的最佳选择是每分钟运行一个 cron 作业,检查是否有 48 小时以上的交易吗?有没有更简单的方法来做我所缺少的?

4

1 回答 1

1

您可以使用名为 Celery 的包完成这两件事。

Celery 是一个基于分布式消息传递的异步任务队列/作业队列。

这是 Django 用户的介绍:http: //docs.celeryproject.org/en/latest/django/first-steps-with-django.html

对于问题 1 - 您可以使用 crontab 调度程序类型在 Celery 中执行定期任务:http: //docs.celeryproject.org/en/latest/userguide/periodic-tasks.html#crontab-schedules

对于问题 2 - 我将参考以下 Stack Overflow 问题以在模型中执行延迟任务: Django - Executing a task through celery from a model

于 2013-09-06T02:39:03.897 回答