Einrichten der CRON-job in Magento

Gibt es viele Anleitungen für das einrichten von cron, und ich glaube, ich habe es getan, richtig, aber für einige Grund es nicht funktioniert. Ich habe auch eine controller-Klasse zu testen, das Modell, und es funktioniert richtig.

Hier ist meine config.xml:

<config>
    <modules>
        <VPS_Export>
            <version>0.1.0</version>
        </VPS_Export>
    </modules>
    <global>
        <models>
            <vps_export>
                <class>VPS_Export_Model</class>
            </vps_export>
        </models>
        <helpers>
            <vps_export>
                <class>VPS_Export_Helper</class>
            </vps_export>
        </helpers>
    </global>
<frontend>
    <routers>
        <vps_export>
            <use>standard</use>
            <args>
                <module>VPS_Export</module>
                <frontName>vpsexport</frontName>
            </args>
        </vps_export>
    </routers>  
</frontend>
    <crontab>
        <jobs>
            <vps_export>
                <schedule>
                    <cron_expr>*/5 * * * *</cron_expr><!-- every 5 minutes -->
                </schedule>
                <run>
                    <model>vps_export/observer::exportProducts</model>
                </run>
            </vps_export>
        </jobs>
    </crontab>
</config>

Meine Observer.php Datei:

<?php
class VPS_Export_Model_Observer
{
    public function exportProducts()
    {
        echo "VPS Export Products called!";
        Mage::Log("exportProducts called!");
    }
}
?>

Und mein test IndexController.php Datei:

<?php
class VPS_Export_IndexController extends Mage_Core_Controller_Front_Action
{
    public function indexAction()
    {
        echo "index action called!";
        Mage::getModel('vps_export/observer')->exportProducts();
    }
}
?>

Wenn ich meinen browser auf http://my_server/vpsexport/index sehe ich den richtigen Ausgang aus der echo-Anweisungen und die Nachricht wird gedruckt, um das Protokoll, damit ich weiß, das Modell richtig konfiguriert ist. Aber der cron wird nicht die gleichen Ergebnisse. Wenn ich cron.php manuell, ich bekomme keine Fehler, aber es immer noch nicht scheinen, etwas zu tun.

Irgendwelche Gedanken?

nach dem ausführen des cron manuell, ist es etwas in die 'cron_schedule' Tabelle in der db?
Ich wusste nicht, über die cron_schedule Tabelle vor. Ja, es gibt Elemente in der Tabelle und Sie zu sein scheinen ausführen, aber mein log-Meldungen, die noch nicht das Protokoll. Wie kann ich testen, um sicherzustellen, daß es tatsächlich den Aufruf der richtigen Funktion, wenn es ausführt, dass der cron-job?

InformationsquelleAutor BrianVPS | 2011-04-13

Schreibe einen Kommentar