![Cron Jobs 不会一直运行(仅在部分小时内运行)](https://linux22.com/image/782886/Cron%20Jobs%20%E4%B8%8D%E4%BC%9A%E4%B8%80%E7%9B%B4%E8%BF%90%E8%A1%8C%EF%BC%88%E4%BB%85%E5%9C%A8%E9%83%A8%E5%88%86%E5%B0%8F%E6%97%B6%E5%86%85%E8%BF%90%E8%A1%8C%EF%BC%89.png)
我在一个网站上工作,该网站使用 cron 作业来导入和更新产品。平台是 Woocommerce。供应商提供了 csv 文件和服务器要求。我要求的配置是:32GB RAM、16vCore、400GB 空间。
问题是,这项工作每小时只工作几分钟……3 到 10 分钟之间,即使他有很多待处理的工作。我的意思是,例如,从 09:00 到 09:10,工作在进行,然后停止,他从 10:08 重新开始,一直工作到 10:15。然后从 11:10 到 11:20。我不明白为什么。这是 cron 作业设置:
分钟 小时 日 月 星期几
* * * * * /usr/bin/flock -n /tmp/wc_process_import_itakeit.ro.lockfile /usr/bin/curl https://itakeit.ro/wcmipconnector/readfiles >> /home/itakeit/public_html/wp-content/uploads/mip-connector/logs/process_import_cron.log
我不知道要放什么/改什么...才能完成所有待处理的进程。
我有另一个运行良好的 cron 作业,这是来自另一个供应商的语法:
分钟 小时 日 月 星期几
*/5 * * * * wget -q -O – https://itakeit.ro/wp-content/plugins/wisexml-connect/heartbeat.php >/dev/null 2>&1
我对此没有任何经验。有人能帮助我吗?
谢谢你,阿林
PS:关于第一个 cron 作业(我发现我的帖子没有完整的消息):分钟小时天月星期几(有 * * * * *)
谢谢!
答案1
使用flock
make 可以“保留”cron
任务执行,直到释放锁定文件。这是因为执行一个任务需要一分钟以上。您能做的最好的事情是创建每 10 分钟运行一次的任务,这样您就永远不会将它们添加到队列中。
还要检查和测量执行时间,并仔细设置执行间隔。或者采取措施使每次执行都独立。