Dagster ⇄ Pulse
Dagster possède l'orchestration jobs/assets ; Pulse est l'op de traitement de flux temps réel qu'il appelle. Exemple du repo : examples/dagster-pulse-bridge/ — validé de bout en bout sur Dagster 1.13.13, in-process (execute_in_process, sans daemon/webserver).
@job order_job : make_order → score_via_pulse (@op) → decide
L'op fait les deux appels universels :
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 dagster requests
python dagster_job.py
Sortie validée
amount= 2500 -> high_value=True decision=escalate
amount= 300 -> high_value=False decision=auto-approve
Dagster garde le lignage d'assets et le scheduling ; Pulse garde l'état de flux. Changez les opérateurs du stage score — le graphe de job n'est pas touché.