Magento Enterprise – Troubleshooting Cron Job Issues

magento-enterprise

I'm creating my first Magento module, the goal of which is to run some code at specified time invervals (e.g. using the Magento Cron).

However, I'm just trying to keep it simple first of all and add something to the Magento Log so that I know the code is executing when the cron job is run.

At the moment, I'm getting no messages in var/log/system.log when I'm expecting to see a message "Running Ultra Notification Import".

Here is my code:

app/code/community/Trueshopping/UltraNotificationImport/etc/config.xml

<?xml version="1.0"?>
<config>
    <modules>
        <Trueshopping_UltraNotificationImport>
            <version>0.1.0</version>
        </Trueshopping_UltraNotificationImport>
    </modules>
    <crontab>
        <jobs>
            <ultra_notification_import>
                <schedule><cron_expr>* * * * *</cron_expr></schedule>
                <run>
                    <model>ultranotificationimport/observer::import</model>
                </run>
            </ultra_notification_import>
        </jobs>
    </crontab>
</config>

app/code/community/Trueshopping/UltraNotificationImport/Model/Observer.php

<?php

class Trueshopping_UltraNotificationImport_Model_Observer
{
    /**
     * Import notifications from Ultra
     */
    public function import()
    {
        Mage::log('Running Ultra Notification Import');
    }
}

app/etc/modules/Trueshopping_UltraNotificationImport.xml

<?xml version="1.0"?>
<config>
    <modules>
        <Trueshopping_UltraNotificationImport>
            <active>true</active>
            <codePool>community</codePool>
        </Trueshopping_UltraNotificationImport>
    </modules>
</config>

Thanks!

Anthony

Best Answer

You are missing the models declaration in your config.xml file.
It should look like this:

<?xml version="1.0"?>
<config>
    <modules>
        <Trueshopping_UltraNotificationImport>
            <version>0.1.0</version>
        </Trueshopping_UltraNotificationImport>
    </modules>
    <global>
        <models>
             <ultranotificationimport>
                 <class>Trueshopping_UltraNotificationImport_Model</class>
             </ultranotificationimport>
        </models>
    </global>
    <crontab>
        <jobs>
            <ultra_notification_import>
                <schedule><cron_expr>* * * * *</cron_expr></schedule>
                <run>
                    <model>ultranotificationimport/observer::import</model>
                </run>
            </ultra_notification_import>
        </jobs>
    </crontab>
</config>

Clear the cache after you modify the config file.

Related Topic