我需要有能力在每天完全不同的时间运行一个 PHP 脚本20次。同时,我只希望它在早上9点到晚上11点之间运行。
我熟悉在 Linux 中创建 Cron 作业的方法。
创建一个每天重写crontab的脚本如何?
我曾经遇到过同样的问题,对我来说最好的解决方案是在服务器端创建一个计划任务(通过编程语言非常简单),用两列填充数据库表:run_time和status(new | processed)。因此,我的cron每分钟运行一次,并查找需要完成的作业(状态=新且运行时间<=现在())。
非常简单,而且有一个巨大的优点:在这种情况下,我可以为其创建一个界面并查看发生了什么...
对于那些通过谷歌搜索到这里的人:
如果你正在使用anacron(Ubuntu桌面和笔记本电脑),那么你可以进行编辑。
/etc/anacrontab
并添加
RANDOM_DELAY=XX
这里的XX表示你需要延迟基础作业的分钟数。
Anacron类似于cron,但它并不期望你的计算机24x7开机(例如我们的笔记本电脑),如果系统宕机,则会运行错过的脚本。