Skip to content

Surveiller les exécutions d'actions en masse

Chaque action en masse que vous déclenchez — assigner, présence, supprimer, envoyer un message, éditer — apparaît sur /bulk-actions comme une ligne dans l'historique d'exécutions. Cette page est votre point d'inspection : l'exécution s'est-elle terminée, des lignes ont-elles échoué, devez-vous réessayer, et qu'est-ce qui a exactement changé.

Historique des actions en masse

La page se met à jour automatiquement toutes les 5 secondes tant qu'une exécution est active, vous n'avez donc pas besoin de rafraîchir.

États d'exécution

Chaque ligne a un badge de statut :

ÉtatSignification
QueuedL'exécution est dans la file de travail mais le worker ne l'a pas encore commencée. Habituellement des millisecondes.
RunningLe worker traite les lignes. La barre de progression affiche N sur M faits.
CompletedToutes les lignes appliquées sans échec.
PartialCertaines lignes appliquées, certaines en échec. État le plus exploitable — vous réessayerez habituellement.
FailedUne erreur de niveau système a arrêté l'exécution (base de données indisponible, permission révoquée en cours d'exécution).
CancelledVous avez appuyé sur Annuler. Les lignes déjà appliquées restent ; les lignes en attente sont sautées.

Ouvrir une exécution

Cliquez sur n'importe quelle ligne et vous verrez la page de détail de l'exécution :

  • Cartes récapitulatives — total des lignes, appliquées, en échec, sautées, durée.
  • Instantané de sélection — la liste exacte des ID de membres que l'exécution ciblait, capturée au moment du clic sur Appliquer.
  • Éléments en échec — chaque ligne qui ne s'est pas appliquée, avec une raison.
  • Bouton Réessayer les échecs (quand il y a des échecs).
  • Bouton Annuler (quand l'exécution est en file ou en cours).
  • Bouton Réexécuter (quand l'exécution est terminée, quel que soit le résultat).

La liste des éléments en échec

Une ligne échoue quand le worker essaie de l'écrire et que la base de données rejette l'opération. Raisons courantes :

ErreurCe que ça signifieHabituellement
permission deniedL'utilisateur actuel a perdu la permission depuis le clic sur AppliquerLa permission a été révoquée en cours d'exécution
member not foundLe membre a été supprimé par quelqu'un d'autre pendant l'exécutionCondition de course
unique violationL'écriture créerait un doublonRéexécution d'une vieille assignation sur des membres déjà dans la cible
null value violates not-nullUn champ requis manquaitPresque toujours une mauvaise configuration de workflow

Le texte de la raison apparaît en ligne à côté de chaque membre en échec, pour que vous puissiez parcourir la liste et décider si l'exécution vaut la peine d'être réessayée telle quelle ou si vous devez d'abord corriger le problème sous-jacent.

Réessayer les échecs est idempotent

Le bouton Réessayer remet uniquement en file les lignes qui ont échoué, avec les mêmes paramètres. Les lignes déjà appliquées restent appliquées — l'action ne les réapplique pas. Vous pouvez cliquer autant de fois que nécessaire jusqu'à ce que toutes les lignes réussissent ou que la raison d'échec change (par exemple, permission restaurée).

Annuler en cours de route

Pour les actions longues sur des milliers de lignes, vous pouvez Annuler depuis la page de détail de l'exécution. Le worker arrête de chercher le prochain lot et l'exécution passe à Cancelled. Les lignes déjà appliquées restent appliquées. L'instantané de sélection est préservé, vous pouvez donc réexécuter sur la même liste plus tard.

Annuler n'est pas annuler

Annuler arrête les écritures suivantes, mais ne défait pas ce qui a déjà été écrit. Si vous avez annulé une suppression et que 200 des 500 membres étaient déjà supprimés doucement, ces 200 restent supprimés doucement. Utilisez la corbeille pour les restaurer si besoin.

Combien de temps l'historique est-il conservé

Les lignes d'exécution vivent dans bulk_action_runs et restent là pendant 90 jours. Après cela, un job nocturne les archive hors de la table active. L'audit permanent de qui a changé quoi est dans le journal d'audit, qui est conservé indéfiniment.

Notifications

Si une exécution prend plus de 30 secondes, GCM envoie un e-mail à l'utilisateur qui l'a lancée quand elle se termine. Si l'exécution atteint Partial ou Failed, l'e-mail inclut un lien direct vers la page de détail de l'exécution. Pour les exécutions de moins de 30 secondes, vous verrez le résultat dans la page, pas d'e-mail.

Prochaines étapes

  1. Assignation et présence en masse — les actions en masse les plus courantes.
  2. Supprimer et restaurer — suppression douce et fenêtre de 30 jours.
  3. Journal d'audit — enregistrement à long terme de ce qui a changé.
  4. Utilisateurs et rôles → Journal d'audit — pour tracer les attributions et révocations de permissions.