Résolution des problèmes liés à cron

Cet article propose des solutions de dépannage pour les problèmes liés à cron dans les produits Adobe Commerce sur site.

Produits et versions concernés

  • Adobe Commerce on-premise 2.2.x, 2.3.x
  • Magento Open Source 2.2.x, 2.3.x

Problèmes

Voici les symptômes des problèmes de cron :

  • Votre mise à jour ou mise à niveau ne s’exécute jamais ; elle reste dans une pending état.

  • Un message d’erreur relatif à PHP paramètre $HTTP_RAW_POST_DATA s’affiche même s’il est correctement défini.

  • Le contrôle cron de préparation échoue. Les erreurs possibles incluent les chemins non modifiables et cron non configuré. Voici un exemple :

    upgr-tshot-no-cron2.png

  • La vérification de l’état de préparation PHP n’affiche pas la version PHP comme le montre la figure suivante.

    Screen_Shot_2019-08-29_at_1.36.08_PM.png

  • L’erreur suivante s’affiche dans l’administrateur Commerce :

    compman-cron-not-running.png

Pour afficher l’erreur, vous devrez peut-être cliquer sur Messages système en haut de la fenêtre, comme suit :

compman_sys-messages.png

Chercher la cause check-your-existing-crontab

Cette section explique comment vérifier si cron est en cours d’exécution et s’il est correctement configuré.

Pour vérifier si votre crontab est configuré, procédez comme suit :

  1. Connectez-vous à votre serveur de Magento en tant que Propriétaire du système de fichiers Magento.

  2. Vérifiez si le fichier suivant existe : bash ls -al <magento_root>/var/.setup_cronjob_status. Si le fichier existe, cron s’est exécuté avec succès dans le passé. Si le fichier ne fait pas existe, soit vous n’avez pas encore installé Magento, soit cron ne s’exécute pas. Dans les deux cas, passez à l’étape suivante.

  3. Obtenez plus de détails sur cron. En tant qu’utilisateur avec root , saisissez la commande suivante : bash crontab -u <Magento file system owner name> -l. Par exemple, sur CentOS bash crontab -u magento_user -l. Si aucun onglet crontab n’a été configuré pour l’utilisateur, le message suivant s’affiche : terminal no crontab for magento_user. Votre crontab vous indique ce qui suit :

    • Quel binaire PHP vous utilisez (dans certains cas, vous en avez plusieurs) ?
    • Scripts cron Magento en cours d’exécution (en particulier, les chemins d’accès à ces scripts)
    • Emplacement de vos journaux cron

Consultez l’une des sections suivantes pour une solution à votre problème.

Solutions

Solution pour crontab non configurée solution-crontab-not-set-up

Pour vérifier que vos tâches cron sont correctement configurées, voir Configuration de tâches cron.

Solution pour cron utilisant un binaire PHP incorrect solution-cron-running-from-incorrect-php-binary

Si votre tâche cron utilise un binaire PHP différent du plug-in du serveur web, des erreurs de paramètres PHP peuvent s’afficher. Pour résoudre ce problème, définissez des paramètres PHP identiques pour la ligne de commande PHP et le module externe de serveur Web PHP.

Pour plus d’informations sur les paramètres PHP, voir Paramètres PHP requis dans notre documentation destinée aux développeurs.

Solution pour cron s’exécutant en erreur solution-cron-running-with-errors

Essayez d’exécuter chaque commande manuellement, car la commande peut afficher des messages d’erreur utiles. Voir Configuration de tâches cron.

NOTE
Vous devez exécuter cron au moins. two pour que la tâche s’exécute ; la première fois pour mettre les tâches en file d’attente, la deuxième fois pour exécuter les tâches.
recommendation-more-help
8bd06ef0-b3d5-4137-b74e-d7b00485808a