Temporal ⇄ Pulse
Temporal possède l'orchestration durable ; Pulse est le step de streaming temps réel qu'il appelle. Exemple du repo : examples/temporal-pulse-bridge/.
Pourquoi une Activity — la seule contrainte de design qui compte
Les workflows Temporal sont déterministes et replay-safe, donc ils ne peuvent pas faire d'I/O directement — chaque appel externe vit dans une Activity. Pulse est donc un step à l'intérieur d'une Activity, et Temporal l'entoure de retries / timeouts / sémantique exactly-once durables :
L'Activity fait les deux mêmes appels que tous les autres bridges :
POST /api/pulse/x/order-scoring/in
GET /api/pulse/events/order-scoring.score.out
Lancez-le
pulse server start --dev
mkdir app && cp pulse.yaml app/ && (cd app && pulse deploy .) # monte order-scoring
pip install temporalio requests
python run.py
run.py démarre un serveur Temporal de dev local in-process (WorkflowEnvironment.start_local()), lance un worker hébergeant OrderWorkflow + l'Activity score_order, et exécute le workflow :
amount= 2500 -> high_value=True decision=escalate
amount= 300 -> high_value=False decision=auto-approve
Ce qui est validé — dit précisément
- L'appel Pulse de l'Activity est validé en live contre un serveur
--dev(le même contrat POST-ingress + lecture de topic que les bridges n8n/LangGraph). - Le câblage Temporal est réel —
@workflow.defn/@activity.defnsurtemporalio1.30. - Le run complet du workflow in-process a besoin du binaire du serveur de dev Temporal, que la sandbox CI du repo ne peut pas télécharger — lancez
python run.pysur votre machine pour voir la boucle durable complète.
Ce que chaque côté apporte
| Préoccupation | Propriétaire |
|---|---|
| État durable, retries, timeouts, tâches humaines | Temporal |
| Fenêtres par clé, joins, dedup, stages LLM/MCP sur le flux | Pulse |
| La couture | une Activity avec deux appels HTTP |
C'est la division du travail la plus propre de tous les bridges : Temporal ne voit jamais le déluge d'événements, Pulse ne réimplémente jamais l'orchestration durable.
Ensuite
- Crash-resume — l'histoire de durabilité propre à Pulse
- Guide n8n · Guide LangGraph