设置Cron自动运行,没有任何magento事件

时间:2014-01-08 11:08:25

标签: php magento cron

我想通过openkm服务器获取图像..所以我想让Observer每两分钟运行一次

我的config.xml FlyonitImage/Openkm/etc/config.xml

<events>
             <openkm_image_send>
                   <observers>
                        <flyonitimage_openkm_model_observer>
                            <type>singleton</type>
                            <class>Flyonitimage_Openkm_Model_Observer</class>
                            <method>sendimageopenkm</method>
                        </flyonitimage_openkm_model_observer>
                    </observers>
                </openkm_image_send>
            </events>

         <crontab>
                <jobs>
                    <openkm_image_send>
                        <schedule><cron_expr>*/2 * * * *</cron_expr></schedule>
                        <run><model>Flyonitimage_Openkm_Model/observer::sendimageopenkm</model></run>
                    </openkm_image_send>
                </jobs>
            </crontab> 

Observer.phpFlyonitImage/Openkm/Model/Observer.php

<?php
class Flyonitimage_Openkm_Model_Observer
{
    public function sendimageopenkm()
    {
        //this collection get all users which have birthday on today
         Mage::log("nice to learn this ");
        return $this;
    }
}

但它没有显示任何日志..我会在制作日志后放入fetchimage代码..

由于

3 个答案:

答案 0 :(得分:1)

run元素的值应为:

<run>
    <model>module/model::method</model>
</run>

在你的情况下应该是:

<run>
    <model>openkm/observer::sendimageopenkm</model>
</run>

只有在crontab中为位于Magento根目录中的cron.php文件设置条目时,这才有效。

如果你想在OS上设置cron之前进行测试,那么在浏览器中点击magento-root / cron.php。首次点击将在您的Magento cron计划表中创建条目。

然后在2分钟后再次点击相同的URL。这次你的工作将被执行。

由于

答案 1 :(得分:0)

通过将cron设置为

来调用上面的sendimageopenkm()函数

2 * * * * / usr / bin / wget -q“ur path” (这里wget是linux中的内部浏览器)

答案 2 :(得分:0)

你正确设置了[magento-root] /cron.php吗?如果是,则每隔1分钟设置一次cronjob 或者您可以使用第三部分cronjob服务,例如:

- https://www.setcronjob.com/
- http://www.easycron.com/
- http://www.webcron.org/