我在一个网站上工作,该网站使用 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 分钟运行一次的任务,这样您就永远不会将它们添加到队列中。
还要检查和测量执行时间,并仔细设置执行间隔。或者采取措施使每次执行都独立。