我知道我问的是一些问题,而不是与代码相关的问题,但在实现我的 cron 之前,我想确保我知道执行中会发生什么。
我有一个每 2 分钟发送 125 封电子邮件的 cron,我想知道是否发生了某些情况,并且在下一次迭代到期时 cron 尚未完成。
平均每 2 分钟发送 125 封电子邮件非常重要,我更喜欢一个能够确保尽可能清除积压邮件的解决方案。
非常感谢任何建议。
最佳答案
无论之前的执行是否完成/完成/失败,Cron 都会以指定的时间间隔触发您的进程。您必须在代码中编写一些逻辑来检查它的实例是否已经在运行。在shell脚本中,编写以下代码来检查“process.sh”实例是否正在运行。
for pid in $(pidof -x process.sh); do
if [ $pid != $$ ]; then
echo "[$(date)] : process.sh : Process is already running with PID $pid"
//do whatever logic u want to do here
fi
done
关于php - 如果 cron 未完成且下一次迭代到期,会发生什么情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49021930/