如何一个接一个地运行 cron 作业,比如作业队列?
我正在做的项目有将近 20 多个 cron 作业,其中大部分每小时启动一次,并且非常依赖数据库,所以我想要类似作业队列的东西,它会一个接一个地启动 cron 作业,所以不是所有 20 多个工作都在新的时间开始,使我的服务器不可用。
是否有针对此类的预构建系统? 或任何其他向 linux cron 添加作业队列功能的简单方法。 ?
最佳答案
编写一个 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
关于PHP-如何像作业队列一样一个接一个地运行cron作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23314468/