cron ne fonctionne pas correctement.La table Cron_schedule ne contient qu'une seule ligne (enterprise_refresh_index)

magento.stackexchange https://magento.stackexchange.com//questions/78984

Question

Je rencontre un étrange problème de cron dans Magento ver.1.13.0.2.La table cron_schedule ne contient qu'une seule ligne :

  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

Mais il me manque toutes les autres crontabs du noyau Magento et les extensions personnalisées.J'ai configuré crontab et j'ai également essayé d'exécuter cron.php manuellement.Si je l'exécute manuellement, les heures "executed_at" et "finished_at" seront mises à jour.

Si je regarde la table core_config_data et recherche "cron", je ne vois que 2 ensembles de données liés à 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> 

Le module code/core/Mage/Cron est activé.La journalisation supplémentaire est activée mais je ne vois aucun problème lié à Cron dans system.log ni dans exception.log.Les journaux du serveur sont également vides.

Quelqu'un a-t-il une idée de ce qui pourrait causer le problème ou comment le déboguer ?Merci!

Était-ce utile?

La solution

Si par "l'exécuter manuellement", vous voulez dire que vous êtes allé sur cron.php dans votre navigateur et que vous n'avez toujours rien dans le tableau, alors le script se termine probablement très tôt.Essayez d'ouvrir cron.php et de forcer le $isShellDisabled variable à vrai.(Je n'ai pas le code ouvert devant moi.)

Autres conseils

Votre cron n'est probablement pas réellement configuré sur le serveur.Vous devez créer une tâche cron depuis SSH ou votre panneau de contrôle pour appeler cron.sh à la racine de votre site (généralement à intervalles de 5 minutes).C'est ce qui exécute les tâches de manière continue.Si rien n'appelle cron.sh ou cron.php sur une base continue, alors rien ne se passera réellement (comme vous l'avez remarqué).

Pour une explication de la création du cronjob à partir de SSH, voir la réponse de William Wigman ici : https://magento.stackexchange.com/a/32580/1905

Si vous utilisez un panneau de contrôle d'hébergement au lieu de SSH pour le créer, le processus dépend entièrement du fonctionnement de votre panneau de contrôle particulier.En général, vous souhaitez qu'il s'exécute à intervalles de 5 minutes (*/5 * * * *), et vous souhaitez qu'il s'exécute sh {your_path_to_magento}/cron.sh.

Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange
scroll top