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:
Clear the cache after you modify the config file.