PHP-如何像作业队列一样一个接一个地运行cron作业


PHP- How to run cron jobs one after another like job queue

如何一个接一个地运行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