Contexte

Plus aucune impression de carte vinyle ne se faisait.

Symptômes

  • Aucune carte vinyle ne s’imprime, quel que soit le point de vente.
  • Les nouveaux jobs d’impression restent en statut pending dans le job complexe-job-print-job-card.
  • Le job print-card ne remonte aucune erreur : la dernière impression traitée s’est bien déroulée.

Diagnostic

  1. Consulter les logs du job complexe-job-print-job-card → les nouveaux jobs restent en pending car un job d’impression est considéré comme toujours en cours. → l’id de ce job en cours se trouve dans ces logs.

  2. Consulter les logs du job print-card → la dernière impression s’est bien déroulée, sans erreur.

Cause : le job d’impression en cours ne s’est pas mis à jour en base (statut resté différent de printed), ce qui bloque la file d’attente d’impression.

Résolution

Depuis Kibana (Dev Tools) :

1. Retrouver le job d’impression toujours en cours

Si l’id du job est connu (via les logs de complexe-job-print-job-card) :

GET cineges-printjob-card/_search
{
  "query": {
    "match": {
      "id": "{ID}"
    }
  }
}

Sinon, rechercher directement les jobs restés bloqués au statut printing :

GET cineges-printjob-card/_search
{
  "query": {
    "match": {
      "status": "printing"
    }
  }
}

2. Forcer le statut du job à l’état final printed

GET cineges-printjob-card/_update_by_query
{
  "script": {
    "source": "ctx._source.status = \"printed\""
  },
  "query": {
    "match": {
      "id": "{ID}"
    }
  }
}

Validation

  • Vérifier dans les logs de complexe-job-print-job-card que les jobs en pending repassent en traitement.
  • Vérifier qu’une nouvelle carte vinyle s’imprime correctement.

Rollback

Aucun rollback applicable : l’action force uniquement le statut d’un job déjà imprimé (printed) vers son état final réel. Elle ne modifie pas les données de la carte ni le job suivant.

Escalade

  • Si des jobs restaient en attente derrière le job bloqué, la file est perdue : il faut relancer manuellement les impressions correspondantes.
  • Si après correction du statut la file reste bloquée (nouveaux jobs toujours en pending), remonter au développeur en charge de complexe-job-print-job-card avec l’id du job traité et les logs correspondants.