我已经参考了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(我在终端窗口中得到的是)
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 4436 820分/0 S+1:18 0:00 grep--color=自动ping
杀死7746
ps aux|grep-ping(我在终端窗口中得到的是)
itss 10106 0.0 4436 820分/0 S+1:18 0:00 grep--color=自动ping
crontab-l(我在终端窗口中得到的是)
*/5***php-q/var/www/LIVE/magento/cron.php
但有些事情并不令人惊叹。我不知道如何在后端cron(计划任务)中安排5分钟的时间。请检查以上作业,并给我正确的解决方案。这是为我的模块完成的。如果我错过了设置cron工作的其他任务,请告诉我。
在每次运行cron.php时,系统都会调度所有作业,这些作业应该在等于"Schedule Ahead for"字段的时间内启动。然后,它检查是否所有挂起的(已调度的)作业都应该运行,如果是,则启动该进程。
"Generate Schedules Every"是计划生成到队列之间的时间间隔。"Schedule Ahead for"是一个时间间隔,用于确定将cronjobs添加到挂起队列中的时间间隔。
因此,基本上,您应该将"Schedule Ahead for"设置为与"Generate Schedules Every"相同或稍大。时间由您决定,但应该大于您在SSH crontab中设置的时间。
若要检查crontab是否工作,可以检查数据库表"cron_schedule"以查看是否有任何作业已调度。
它是"php"还是"usr/bin/php"取决于服务器。它可以是"usr/local/bin/php"。