我已经参考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(用于保存)
ps aux | grep ping(我在终端窗口中得到的是)
其7746 0.0 0.1 95996 2664吗? Sl 09:29 0:00 / usr / lib / i386-linux-gnu / unity-lens-shopping / unity-shopping-daemon
其10106 0.0 0.0 0.0436436 pts / 0 S + 11:18 0:00 grep --color = auto ping
杀死7746
ps aux | grep ping(我在终端窗口中得到的是)
其10106 0.0 0.0 0.0436436 pts / 0 S + 11:18 0:00 grep --color = auto ping
crontab -l(我在终端窗口中看到的是)
* / 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/