我已经引用magentocommerce.com用于设置 cron 作业。我实现了我从中得到的东西。首先,我在 config.xml 文件中添加了 cront 选项卡。显示了我为模块“Ownmodule_Autocancel”所做的操作:
<crontab>
<jobs>
<ownmodule_auto_cancel>
<schedule><cron_expr>*/5 * * * *</cron_expr></schedule>
<run><model>order/observer::cancelPendingOrders</model></run>
</ownmodule_auto_cancel>
</jobs>
</crontab>
然后我在linux中打开终端,并授予文件权限,
crontab -e
*/5 * * * * php -q /var/www/LIVE/magento/cron.php
Ctrl+x -> Y(for save)
ps aux | grep ping (what i got in the terminal window is)
itss 7746 0.0 0.1 95996 2664 ? Sl 09:29 0:00 /usr/lib/i386-linux-gnu/unity-lens-shopping/unity-shopping-daemon
itss 10106 0.0 0.0 4436 820 pts/0 S+ 11:18 0:00 grep --color=auto ping
kill 7746
ps aux | grep ping (what i got in the terminal window is)
itss 10106 0.0 0.0 4436 820 pts/0 S+ 11:18 0:00 grep --color=auto ping
crontab -l (what i got in the terminal window is)
*/5 * * * * php -q/var/www/LIVE/magento/cron.php
但是有些东西没有醒来。我不知道如何在后端 cron(计划任务)中安排时间 5 分钟。请检查上述作业并给我正确的解决方案。这是为我的模块完成的。另外,如果我错过了设置 cron 作业的其他任务,请告诉我。
最佳答案
在每次 cron.php 运行时,系统都会安排所有应在“提前安排”字段的时间启动的作业。然后它检查所有挂起的(已计划的)作业是否应该运行,如果是,则启动该进程。
“生成计划间隔”是计划生成到队列之间的时间间隔。 “Schedule Ahead for”是一个时间间隔,它决定将 cronjobs 添加到待处理队列中的时间提前程度。
所以基本上您应该将“提前安排”设置为与“生成计划间隔”相同或更大一些。时间由您决定,但应该大于您在 SSH crontab 中设置的时间。
要检查 crontab 是否正常工作,您可以检查数据库表“cron_schedule”以查看是否有任何计划的作业。
是“php”还是“usr/bin/php”取决于服务器。它可能是“usr/local/bin/php”。
关于php - magento 中的 cron 作业设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29406187/