php - magento 中的 cron 作业设置

标签 php linux magento cron

我已经引用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/

相关文章:

linux - Bash shell 参数传递...?

linux - 如何一次获得您对配置文件所做的所有更改(自系统安装以来)?

linux - 如何从失败开始处理连续更新文件? .

Magento:Mage::getModel ('catalog/category' ) 使用 EAV 还是平面数据?

php - 将 QR Code Scanner android 应用程序连接到在线 mySQL 数据库

php - HttpURLConnection 从 .php 文件返回垃圾

php - 使用正则表达式从 PHP 中的字符串解析函数

php - HTML 表单插入在 PHP 和 MySQL 中不起作用

mysql - Magento SQL 查询

php - 更新 Magento 安装脚本中的属性