如何使用自定义模块在magento中设置Cron Job?

时间:2012-12-24 12:29:42

标签: magento-1.7 magento-1.5 magento-1.6 magento

我想在Magento中使用cron作业或调度我的自定义模块。 我对它进行了研究,但没有找到合适的答案来帮助我。

我创建了一个表单,允许用户选择日,小时,分钟,秒等。我将所有这些值存储在数据库中。我想要做的是它从数据库中取值并根据那个时间运行一些计划(定义php脚本)。 我没有任何想法我怎么能这样做。所以,请帮我解决这个问题。

提前致谢...

3 个答案:

答案 0 :(得分:1)

Magento Cron系统的设计方式并不是真正允许用户指定的调度,而是开发人员指定的调度(即任务的频率是在模块XML配置中设置的,不能通过GUI更改)。这就是说,你可以通过将你的Cron设置为在XML中最频繁的间隔运行并将代码包装在实际的cron函数中来解决这个问题,并使用代码将当前时间与数据库配置进行比较。

答案 1 :(得分:0)

执行此操作的一种方法是创建一个运行每个'x interval'的cronjob来检查数据库以查看是否有任何计划。如果某事是安排的,那么执行其他什么都不做

请参阅How to Set Up a Cron Job

答案 2 :(得分:0)

您也可以尝试使用config_path

<crontab>
    <jobs>                
        <company_export_send_order>
            <schedule>
                <config_path>export/order/cron_settings</config_path>
            </schedule>
            <run>
                <model>company_export/observer::exportOrderData</model>
            </run>
        </company_export_send_order>
    </jobs>
</crontab>

了解更多@ magento cron in backend configuration