EN
Copied
Concepts

Orchestration pipeline

Chaîner des modules dans un DAG réutilisable. Chaque bloc consomme la sortie du précédent, sans code de liaison.

Un pipeline est un graphe orienté acyclique de modules. Chaque nœud est un appel de module ; chaque arête déclare quelle sortie alimente quelle entrée. Le pipeline sauvegarde une recette multi-étapes une fois et la relance à volonté.

Les pipelines supportent aussi la veille : un scrap récurrent est en interne un pipeline planifié.

Anatomie

   ┌──────────┐
   │  scrap   │   queries=["boulangerie"], zones=["Paris"]
   └────┬─────┘
        │ produces: poi_list
        ▼
   ┌──────────┐      ┌──────────┐
   │  emails  │      │ ads_intel│
   └────┬─────┘      └────┬─────┘
        │                  │
        ▼                  ▼
   ┌────────────────────────────┐
   │          filter            │   rules: emails_present=true, ads_score≥30
   └────────────┬───────────────┘
                ▼
            ┌────────┐
            │  sort  │   sort_by=ads_score, desc, top_n=200
            └────────┘

Chaque nœud possède :

Règles de chaînage

Une arête est valide uniquement si produces du producteur correspond à needs du consommateur (formes comme poi_list, enriched_list, csv_rows). L'éditeur vérifie à la conception.

Limites

Limite Valeur
Nœuds max 20
Inputs max/nœud 1 (fusion multi-entrées non ouverte)
Profondeur max 20
Ré-exécutions Illimitées

Exécution

Les pipelines démarrent auto à la créationPOST /api/pipelines met en file le nœud racine, la suite suit à mesure que les prédécesseurs atteignent done.

Chaque nœud tourne comme un job normal (même cycle de vie, observabilité, reprises). Le coordinateur avance sur done, s'arrête au premier failed. Un pipeline échoué peut être repris au nœud fautif. Pour relancer, créer un nouveau pipeline (le graphe est en JSON — copier et re-poster).

Endpoints

POST   /api/pipelines                  # création (démarre auto)
GET    /api/pipelines                  # liste des pipelines utilisateur
GET    /api/pipelines/{id}             # détail + graphe

Un pipeline appartient à un seul utilisateur.

Aperçu filtre

POST /api/pipelines/{id}/nodes/{node_id}/filter-preview

Exécute un nœud filter sur un échantillon de la sortie du prédécesseur, sans lancer tout le pipeline.

La suite