Troubleshooting a Magento Cronjob
You’ve set up a Magento cronjob correctly following the How to Setup a Magento Cronjob tutorial but it is still non-functional. Firstly ensure you are using the method of calling cron.php directly. Why do you ask? Because it is the most universal method of running the cronjob and helps eliminate other potential permission and server-side issues which could be at fault.
Cron issues on Magento 1.8/1.9 Community Edition
In the root of your Magento installation open the cron.php file and locate the following line (around line 48):
$isShellDisabled = (stripos(PHP_OS, 'win') === false) ? $isShellDisabled : true;
Directly after that line add the following line of code:
$isShellDisabled = true;
Save the file and upload it to your server ensuring you overwrite the previous version.
Cronjob Not Running All Queued Tasks
Sometimes tasks pile up and the store is unable to run all the assigned tasks in the allotted time. When this happens Magento will skip the un-run tasks. To decrease the likelihood that a task will be skipped set the stores “Missed if Not Run Within” setting to a longer time duration with the following steps:
In the admin panel navigate to System>Configuration>System>Cron (Scheduled Tasks) and set this to 60 and save the config.