我是 Django、Python 和 Web 开发的新手,我正在尝试将 RSS 阅读器作为一个学习项目。现在,我需要帮助来实施定期检查所有频道以获取新内容的部分(比如每 15 分钟一次)。我需要一个 cron 工作来做这件事,而自定义管理命令是解决这个问题的方法,我知道很多。但我正在努力弄清楚如何实现它。这个链接是大多数人在 SO 上推荐的,但我觉得它没有多大帮助,例如,我没有解释 X 时间部分的调度。
有人可以通过代码解释如何每 15 分钟检查一次新内容的频道。提前致谢。
“每 15 分钟”位实际上是最简单的。一旦你编写了检查一次的命令,你就可以设置 cron 每 15 分钟执行一次命令。
本文简要概述了 cron 以及如何设置它。
运行 cron 时要记住的事项:
/bin/sh
)下运行,因此无法访问您的所有自定义项(例如您添加到PATH
.python
,而是/usr/bin/python
,或者任何适用于您的系统的内容。mutt
是我最喜欢的控制台电子邮件阅读器。MAILTO
如果要将 cron 结果重定向到电子邮件,可以在 cron 文件中设置变量。source
在 cron 中不起作用。编写好管理命令后;只需将其添加到您自己的 crontab 文件中。该文件列出了系统范围的 cron 进程将执行的所有命令。
要编辑您的 crontab 文件,请crontab -e
从控制台键入。
文件中不是注释的每一行都是一个条目。条目以频率开头,然后是要运行的命令。这是一般格式:
* * * * * command to be executed
┬ ┬ ┬ ┬ ┬
│ │ │ │ │
│ │ │ │ │
│ │ │ │ └───── day of week (0 - 7) (0 or 7 are Sunday, or use names)
│ │ │ └────────── month (1 - 12)
│ │ └─────────────── day of month (1 - 31)
│ └──────────────────── hour (0 - 23)
└───────────────────────── min (0 - 59)
*
任何位置的星号都表示“全部”。
每 15 分钟运行一次:
0/15**** /usr/bin/python /home/myuser/project/manage.py foo
只是为了将来对此的参考,频率参数用空格分隔(也许它们在帖子中丢失了)。尝试各种组合的好地方是 www.dataphyx.com/cronsandbox/。