如何一个接一个地运行cron作业,比如作业队列?
我正在做的项目有大约20多个cron作业,其中大多数作业每小时启动一次,并且是非常密集的DB,所以我希望有一个类似作业队列的东西,它会启动一个又一个cron工作,所以不是所有20多个作业都在新的小时开始时启动,使我的服务器不可用。
有这样的系统吗?或者任何其他将作业队列功能添加到linuxcron的简单方法?
编写一个bash脚本来按顺序运行命令,并将其添加到crontab中。
例如,创建一个名为phpjobs.sh的文件,其中包含按顺序运行作业的命令:-
#!/bin/bash
/usr/bin/php -q <yourfile1.php>
/usr/bin/someothercommand
/usr/bin/php -q <yourfile2.php>
/usr/bin/php -q <yourfile3.php>
然后使其可执行
chmod 755 phpjobs.sh
然后将其添加到crontab中,以每小时运行一次
0 * * * * root /path/to/phpjobs.sh