Hi,

I've been running 'Elysia Cron' for a couple of months because another module depended on it. Since a few weeks, it keeps killing cron; on the same sever, a couple of other Drupal sites without 'Elysia Cron' are hosted as well; on none of these sites cron jobs are successfully executed anymore since then. However, manually running drush cron from the shell does still work.

Failed cron runs are logged in the operating systems (Debian) Syslog like so:

$ grep "6999" /var/log/syslog
Mar  8 21:04:01 {server} /USR/SBIN/CRON[16999]: (CRON) error (grandchild #17001 failed with exit status 8)
Mar  9 00:51:01 {server} /USR/SBIN/CRON[6999]: (root) CMD (wget -O - -q -t 1 http://{mysite}/sites/all/modules/elysia_cron/cron.php)
Mar  9 00:51:01 {server} /USR/SBIN/CRON[6997]: (CRON) error (grandchild #6999 failed with exit status 8)
$ grep "7151" /var/log/syslog
Mar  9 00:53:01 {server} /USR/SBIN/CRON[7151]: (root) CMD (wget -O - -q -t 1 http://{mysite}/sites/all/modules/elysia_cron/cron.php)
Mar  9 00:53:01 {server} /USR/SBIN/CRON[7148]: (CRON) error (grandchild #7151 failed with exit status 8)

Drupal's status report indicates, that cron has not been executed for several {days | weeks | …}. Drupal's watchdog log does not report anything about cron.

How do I get cron jobs executed again?

Please advise & thank you!

Comments

gotheric’s picture

- Look at elysia cron config page to see if it reports a stuck job or similar. In general by looking at execution times and count you should see if there is a problem on a specific job that block cron execution.
- Try enabling extendend logging in elysia cron settings. After that, look at watchdog page (after some time of cron executions) and see what it's logging about cron.
- If you found the job that is giving the problem, try disabiling it or put it in a separate cron channel.

asb’s picture

Thanks for your reply!

Look at elysia cron config page to see if it reports a stuck job or similar.

./admin/build/cron reports: Last run 03.03.2013 - 20:36, Abort count: 2. How does a "stuck job" look like?

A forced manual execution of Elysia Cron via ./admin/build/cron results in a WSOD, accompanied with the following record in Apache's error.log:

[Wed Mar 13 18:01:18 2013] [error] [client {myip}] PHP Fatal error: Call to a member function user_timeline() on a non-object in /var/www/drupal/sites/all/modules/twitter/twitter.inc on line 187, referer: http://{mysite}/admin/build/cron

So I'll try to disable the module 'Twitter' and it's depenedency 'OAuth' an see what happens.

Try enabling extendend logging in elysia cron settings.

At ./admin/build/cron/settings I don't see a setting for this.

After that, look at watchdog page (after some time of cron executions) and see what it's logging about cron.

As I wrote above, Drupal's watchdog log does not report anything about Elysia Cron. There is not even a filter for cron, as Drupal core's Cron module provides.

asb’s picture

Status: Active » Postponed (maintainer needs more info)

I'm still observing this; Cron still dies from time to time on some sites or all the time on others, no matter if it called through Crontab or via 'drush cron'. After following certain issues with the things cron is supposed to accomplish (e.g. to generate a XML sitemap), I believe that 'Elysia Cron' might not be the root cause but just a symptom. The root cause might be other modules that do not properly handle timeouts and/or memory limits, at least almost any module I investigated has related (open) issues in this area.

Changing status, but I'm not sure if I can dig deep enough to provide helpful information.

gotheric’s picture

To enable debug log of elysia cron, go to admin/build/cron/settings, open "installation settings" group and enable "debug" option.

kala4ek’s picture

Status: Postponed (maintainer needs more info) » Closed (outdated)

Drupal 6 is not supported anymore.