Aller au contenu

CLI Synchronization Commands

Les commandes de synchronisation constituent le principal point d'entrée permettant d'alimenter CMonChoix Platform à partir des différentes sources de données.

Elles déclenchent les traitements nécessaires à la collecte, la transformation et la persistance des informations provenant des marchands.

Les commandes CLI ne réalisent pas elles-mêmes ces traitements.

Elles orchestrent les composants spécialisés de la Platform.


Objectif

Les commandes de synchronisation permettent de :

  • lancer une synchronisation ;
  • reprendre une synchronisation interrompue ;
  • reconstruire certaines étapes du pipeline ;
  • superviser l'avancement des traitements ;
  • automatiser les opérations récurrentes.

Toutes les commandes suivent les mêmes principes d'exécution.


Position dans l'architecture

CLI

↓

Sync Runner

↓

Feed Reader

↓

Pipeline

↓

Domain Core

↓

Projection Builder

↓

Database

Les commandes CLI ne contiennent aucune logique métier.

Elles délèguent systématiquement les traitements aux composants spécialisés.


Responsabilités

Les commandes de synchronisation sont responsables de :

  • démarrer un traitement ;
  • transmettre les paramètres d'exécution ;
  • suivre la progression ;
  • restituer le résultat de l'opération.

Elles ne décident jamais :

  • de la classification ;
  • de la résolution d'identité ;
  • de la création des projections.

Cycle d'une synchronisation

Une synchronisation suit toujours le même déroulement.

Lecture des paramètres

↓

Validation

↓

Création du contexte

↓

Exécution

↓

Suivi

↓

Finalisation

↓

Rapport

Chaque étape est indépendante des autres.


Paramètres

Les commandes peuvent recevoir différents paramètres.

Par exemple :

  • source ;
  • identifiant de feed ;
  • exécution complète ;
  • reconstruction ;
  • reprise ;
  • mode simulation.

Les paramètres sont validés avant le lancement du traitement.


Exécution

Lorsqu'une synchronisation démarre :

  • le contexte est créé ;
  • les composants sont initialisés ;
  • le Pipeline prend le relais.

À partir de ce moment, la CLI reste uniquement responsable du suivi de l'exécution.


Suivi

Pendant l'exécution, plusieurs informations peuvent être produites.

Par exemple :

  • progression ;
  • durée ;
  • volume traité ;
  • avertissements ;
  • erreurs.

Ces informations permettent aux opérateurs de suivre le traitement sans intervenir dans son fonctionnement.


Résultat

À la fin d'une synchronisation, la commande fournit un état final.

Celui-ci permet notamment de savoir :

  • si le traitement est terminé ;
  • si une erreur est survenue ;
  • si une reconstruction est nécessaire ;
  • si une intervention complémentaire est requise.

Reproductibilité

Une synchronisation exécutée avec les mêmes paramètres doit produire le même résultat fonctionnel.

Cette propriété facilite :

  • les audits ;
  • les comparaisons ;
  • les tests ;
  • les reconstructions.

Gestion des erreurs

Une commande CLI ne tente jamais de corriger automatiquement une erreur métier.

Elle :

  • signale le problème ;
  • interrompt le traitement si nécessaire ;
  • restitue les informations utiles au diagnostic.

L'analyse est ensuite réalisée par les outils d'exploitation.


Dépendances

Les commandes de synchronisation utilisent principalement :

  • Sync Runner
  • Feed Reader
  • Pipeline
  • Write Services
  • Database

Elles restent indépendantes du Frontend.


Invariants

Toutes les commandes de synchronisation respectent les mêmes invariants.

Aucun traitement métier

Les traitements sont réalisés exclusivement par le Pipeline et le Domain Core.


Une exécution déterministe

Les mêmes paramètres produisent le même résultat.


Une responsabilité limitée

La CLI orchestre.

Elle ne calcule pas.


Une exécution observable

Chaque synchronisation doit pouvoir être suivie et auditée.


Voir aussi