Aller au contenu principal

Triage des incidents cron

Quand utiliser ce runbook

  • Alerte de production sur un cronjob en échec
  • Cronjob qui ne produit plus les résultats attendus
  • Comportement anormal détecté (données manquantes, retard de traitement)

Étape 1 : Identifier le cronjob affecté

# Vérifier les logs récents du cronjob concerné
tail -100 /var/log/logidav/<command-name>.log

# Vérifier si le processus tourne encore
ps aux | grep "<command-name>"

# Vérifier les locks (si LockableTrait utilisé)
# Adapter selon le mécanisme de lock du projet

Étape 2 : Classifier la sévérité

Utiliser la classification par risque :

NiveauCommandes concernéesAction
CritiqueVentes, paiements, stock, remboursementsIntervention immédiate
ÉlevéeProduits, sync, import/exportIntervention dans l'heure
MoyenneLogs, stats, alertes, notificationsIntervention dans la journée

Étape 3 : Diagnostiquer la cause

Vérifications rapides :

  1. Le cronjob tourne-t-il encore ? → processus zombie, lock bloqué
  2. L'API externe répond-elle ? → timeout Magento, transporteur indisponible
  3. La base de données est-elle accessible ? → connexion perdue, deadlock
  4. Les données en entrée sont-elles valides ? → payload Magento corrompu, données manquantes
  5. Y a-t-il eu un déploiement récent ? → régression code, configuration changée

Étape 4 : Actions correctives

Processus zombie / lock bloqué

# Identifier le PID
ps aux | grep "<command-name>"

# Tuer le processus si nécessaire (avec confirmation)
kill <PID>

# Relancer le cronjob manuellement
php bin/console <command-name>

API externe indisponible

  1. Vérifier la connectivité : curl -I <api-url>
  2. Consulter le status page du service externe
  3. Attendre la récupération ou contacter le support du fournisseur
  4. Relancer le cronjob après récupération

Erreur de données

  1. Identifier l'enregistrement problématique dans les logs
  2. Corriger les données si possible
  3. Relancer le cronjob
  4. Si le curseur a avancé, voir Import des ventes pour la stratégie de rejeu

Étape 5 : Vérification post-incident

  • Confirmer que le cronjob a repris son cycle normal
  • Vérifier les données produites (complétude, cohérence)
  • Surveiller les exécutions suivantes
  • Documenter l'incident et la résolution