我想在我的 django 项目上运行定期任务,但我不希望在我的项目中捆绑 celery/django-celery(带有 celerybeat)的所有复杂性。
我还想将配置与时间以及在我的 SCM 中运行的命令一起存储。
我的生产机器运行的是 Ubuntu 10.04。
虽然我可以学习和使用 cron,但我觉得应该有更高级别(用户友好)的方式来做到这一点。(就像 UFW 对 iptables 一样)。
有这种事吗?任何提示/建议?
谢谢!
有几个基于 Django 的调度应用程序,例如django -chronograph和django -chroniker和django-cron。我将 django-chronograph 分叉到 django-chroniker 以修复一些错误并将其扩展为我自己的用例。我仍然在一些项目中使用 Celery,但就像你指出的那样,它有点过于复杂并且有很大的堆栈。
在我个人看来,我会学习如何使用 cron。这不会超过 5 到 10 分钟,它是在 Linux 服务器上工作时必不可少的工具。
您可以做的是设置一个 cronjob,它每分钟请求 django 实例的一页,并让 django 脚本根据存储在数据库中的配置确定现在是什么时间以及需要做什么。这是我在其他类似应用程序中看到的方法。