cron no funciona correctamente.La tabla Cron_schedule solo contiene una fila (enterprise_refresh_index)
-
13-12-2019 - |
Pregunta
Estoy experimentando un problema cron extraño en Magento ver.1.13.0.2.La tabla cron_schedule solo contiene una fila:
1 | enterprise_refresh_index | success | NULL | 2015-08-13 22:37:00 | 2015-08-13 22:37:00 | 2015-08-17 19:29:01 | 2015-08-17 19:29:01
Pero me faltan todos los demás crontabs del núcleo de Magento y las extensiones personalizadas.Configuré crontab y también intenté ejecutar cron.php manualmente.Si lo ejecuto manualmente, se actualizarán las horas "ejecutado_a las" y "terminado_a las".
Si miro la tabla core_config_data y busco "cron", solo veo 2 conjuntos de datos relacionados con cron:
mysql> select * from core_config_data where value like "%cron%";
+-----------+---------+----------+------------------------------------------------+------------------------------------------------+
| config_id | scope | scope_id | path | value |
+-----------+---------+----------+------------------------------------------------+------------------------------------------------+
| 131 | default | 0 | catalog/productalert_cron/error_email_template | catalog_productalert_cron_error_email_template |
| 937 | default | 0 | crontab/jobs/log_clean/run/model | log/cron::logClean |
+-----------+---------+----------+------------------------------------------------+------------------------------------------------+
2 rows in set (0.00 sec)
mysql>
El código del módulo/core/Mage/Cron está habilitado.Se habilitan más registros, pero no veo ningún problema relacionado con cron en system.log
ni en exception.log
.Además, los registros del servidor están vacíos.
¿Alguien tiene una idea de qué podría causar el problema o cómo solucionarlo?¡Gracias!
Solución
Si al "ejecutarlo manualmente", quiere decir que fue a Cron.php en su navegador y aún no tiene nada en la mesa, entonces el script probablemente salga muy temprano.Intente abrir cron.php y forzar la variable $isShellDisabled
con verdadero.(No tengo el código abierto delante de mí.)
Otros consejos
Probablemente su cron no esté configurado en el servidor.Tienes que crear un cronjob desde SSH o tu panel de control para llamar cron.sh
en la raíz de su sitio (generalmente en intervalos de 5 minutos).Eso es lo que realmente ejecuta las tareas de forma continua.Si nada llama cron.sh
o cron.php
de manera continua, entonces en realidad no sucederá nada (como habrás notado).
Para obtener una explicación sobre cómo crear el cronjob desde SSH, consulte la respuesta de williem Wigman aquí: https://magento.stackexchange.com/a/32580/1905
Si utiliza un panel de control de hosting en lugar de SSH para crearlo, el proceso depende completamente de cómo funciona su panel de control particular.En general, desea que se ejecute en un intervalo de 5 minutos (*/5 * * * *) y desea que se ejecute sh {your_path_to_magento}/cron.sh
.