Problemas con la ejecución de cron

Events happening in the community are now at Drupal community events on www.drupal.org.
nemo42's picture

Hola drupaleros!. Tengo el siguiente problema:

Hice un par de módulos que llevan un hook_cron, pues necesitan correr tareas de rutina, pero estos nunca se llaman. Coloque para probar dentro del hook_cron un insert a una tabla ahi con la fecha para servirme de bitácora de cuando se ha corrido, pero nunca llega a ejecutarse ni eso ni nada de codigo de mi hook.

Ahora bien, si me voy a "/admin/build/cron" donde aparecen los estatus de los hooks que cron llama los de mis módulos aparecen, y en la columna "Exec count" sale que el hook se ha llamado varias veces y en la columna "Last run" efectivamente aparece que se corrió tal dia a tal hora, así que parece que esta corriendo, sin embargo NO EJECUTA NADA DE CODIGO :s, o sea aparece como si estuviera corriendo en el informe pero no hace nada.

¿Que el código de mi hook este mal?, no lo creo, aquí viene a parte curiosa: Si en esa misma columna, la de "Last run" le doy click al run, para correrlo manualmente resulta que sí funciona!!, corre el código bien y me mete en la tabla adicional que agregue el registro de la fecha, o sea que esta bien, pero por alguna razón sólo se ejecuta si le doy manualmente, pero automático realizado por el cron no le da la gana!.

¿Alguien sabe a que pueda deberse?, yo lo que hago en el módulo es declarar " function mi_modulo_cron(){ ... ... .. } " . Tengo entendido que con eso el cron ya agarra ese hook y lo ejecuta. ¿Hay algo que este pasando por alto? ¿Alguna cosa adicional que tenga que configurar y agregar?

Muchas gracias por la ayuda o consejo que puedan brindarme.

Comments

Yo he tenido en ocasiones

maxmendez's picture

Yo he tenido en ocasiones problemas con el modulo Elysia Cron que me parece que estas utilizando, el problema se me resuelve ejecutando manualmente todas las tareas del cron desde la ventana que indicas ("/admin/build/cron"), seguidamente ejecuto el cron mediante la llamada de la url del cron o mediante el acceso de menu del modulo Admin Menu y ya funciona correctamente.

Saludos
Max Mendez.

humm, gracias Max, pero

nemo42's picture

humm, gracias Max, pero entonces ese módulo, Elysia Cron, tiene problemas para ejecutar en automático los hooks de cron?. ¿No me das razón de algún módulo que funcione bien para ello?. El problema es que dada la actualización no resulta práctico el que la este corriendo manualmente, necesito que ella se llame sola.

Saludos

No el modulo funciona por lo

maxmendez's picture

No el modulo funciona por lo normal perfectamente, pero en ocasiones, como cuando se da una migración de servidor o la carga del cron fue demasiada para el tiempo máximo de ejecución de php, los registro de ejecución quedan corruptos y no se siguen ejecutando automáticamente todas las tareas.

Y hay que ejecutar todas las tareas manualmente para que el registro con problemas se restablezca y permita de ahí en adelante ejecutarse automáticamente de forma normal.

Ah ok ok, si eso debe de ser,

nemo42's picture

Ah ok ok, si eso debe de ser, debido a que este cron ejecuta muchas areas y algunas son bastante largas.

Me queda una duda, disculpa la necedad jeje, pero entonces lo que me dices es que ejecute todas las tareas manualmente para limpiar el registro y ya quede bien y pueda seguir ejecutandose en automático, pero como te comente el sitio llama a muchas cosas, si se supera el tiempo máximo de ejecución de nuevo, otra vez podría quedar algo corrupto de nuevo por ahí y genrerame el mismo problema de nuevo no?

Ahi la cosa sería entonces aumentar el tiempo máximo de ejecución un poco más no?, y otra cosa, el ponerle peso a los hooks de de cron, que vi esa opción, digamos para poner los mas livianos al principio podria ayudar un poco?

Saludos

Te aconsejo jugar con las

maxmendez's picture

Te aconsejo jugar con las frecuencias de ejecución que te permite dar el módulo Elysia Cron, acomodando las tareas para que no vayan a quedar dos de gran duración de ejecución juntas, también sería bueno aumentar el tiempo de ejecución a un lapso coherente con la carga de trabajo del cron.

Perfecto!, muchas gracias por

nemo42's picture

Perfecto!, muchas gracias por la ayuda Max, voy a probar

Costa Rica

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: