Skip to main content

Prefect ⇄ Pulse

Intermediate ⏱ 10 min prefect · python · task · ✅ ran E2E in repo

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.

Next