1

For some strange reason my cron jobs are not running anymore the last 24H in Magento 1.9.2.4 Cron jobs on the server are running well, without any problem.

Trying to run https://www.domain.com/cron.php does also not run/create cron jobs.

My cron job in DA looks like this:

*/5 *   *   *   *   /bin/sh /home/user/domains/domain.com/public_html/cron.sh

When clicking the Generate Schedule button in the Scheduler does create new cron jobs, but I still see the message "No heartbeat task found. Check if cron is configured correctly."

What can cause the problem? Or better how can I find a solution?

EDIT:

When adding $isShellDisabled = true; to the cron.php file and then run https://www.domain.com/cron.php, it does work and run the cron.

But now I need to know why the cron.sh does not run anymore. I did not change anything the last 24h.

1
  • check .htaccess should not prevent to execute cron job Commented Sep 3, 2016 at 4:30

1 Answer 1

8

Magento cron jobs will occasionally freeze. You may notice the cron job has failed to run at its designated time or times, or you may receive notification of a cron job failing to run when you log in as an administrator.

Resolving the problem

  1. Log in to your account using SSH.
  2. Run the following command to locate hanging cron jobs:

ps aufx | grep cron

  1. The output should resemble output shown below:
root 12080 0.0 0.0 117328 460 ? Ss Mar25 5:23 crond
username 26529 0.0 0.0 103244 848 pts/0 S+ 22:33 0:00 \_ grep cron
username 6876 5.0 0.3 646760 88476 ? S 15:42 20:50 /usr/bin/php /chroot/home/username/domainname.com/html/cron.php -mdefault

The first line shows the cron service running on the server.

The second line shows the command that you just ran. It matches itself when looking for the word "cron" in the running services.

Most importantly, the third line shows your Magento cron job. The cron job usually runs quickly, so if it shows up here, it is likely hanging.

You can confirm a hanging cron job by checking the second column from the right. The 15:42 20:50 shows the duration of the cron job; if this duration takes longer than an hour, then it is hanging.

  1. To stop the cron from running, kill the command by referencing the PID. Returning to the command output, the second column from the left is the PID 6876.

  2. Run the following command to terminate the command:

kill -9 6876

  1. You may now run the ps aufx | grep cron command to confirm the Magento cron job is no longer running. Your Magento cron job will now continue as scheduled.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.