Prefect ⇄ Pulse
Prefect owns the flow/retry orchestration; Pulse is the real-time stream-processing task it calls. Repo example: examples/prefect-pulse-bridge/ — validated end-to-end on Prefect 3.7.8, in-process, no Prefect server needed.
@flow order_flow → score_via_pulse (@task, retries=2) → decision = escalate | auto-approve
The task does the universal two calls:
POST /api/pulse/x/order-scoring/in
GET /api/pulse/events/order-scoring.score.out
Run it
pulse server start --dev
mkdir app && cp pulse.yaml app/ && (cd app && pulse deploy .) # stands up order-scoring
pip install prefect requests
python flow.py
Validated output
amount= 2500 -> high_value=True decision=escalate
amount= 300 -> high_value=False decision=auto-approve
Prefect brings the retries and observability; Pulse brings per-key windows, joins, dedup, LLM/MCP stages. Swap the app's score stage for richer operators — the flow is untouched.