IN PROGRESS · LIVE
Shipping…
You're watching the live execution of fulfill-order.ts, an Inngest durable function. Each step is independently retried, persisted, and observable. This page subscribes to Realtime channel order:ord_demo01.
ORDER IDord_demo01
ITEMSAWAITING INVENTORY STEP
TOTAL$***.** ***
ETA3—5 BUSINESS DAYS · USPS
6.1 DURABLE STEPS · 0 OF 3FUNCTION ID · fulfill-order · attempt 1
STEP 01 / 03PENDING
capture-payment
stripe.payment_intents.retrieve
Awaiting upstream step
STEP 02 / 03PENDING
reserve-inventory
inventory.decrement(sku, qty)
Awaiting upstream step
STEP 03 / 03PENDING
send-confirmation
email.send(template: "order_confirmation")
Awaiting upstream step
6.2 REALTIME LOG · @inngest/realtimeSUBSCRIBED
00:00.000INFOawaiting store/order.placed event
—···awaiting next event
6.3 SOURCE · src/inngest/functions/fulfill-order.ts− COLLAPSE
import { inngest } from "@/inngest/client" export const fulfillOrder = inngest.createFunction( { id: "fulfill-order" }, { event: "store/order.placed" }, async ({ event, step, publish }) => { // 1 — capture the Stripe payment const payment = await step.run("capture-payment", ...); // 2 — reserve inventory await step.run("reserve-inventory", ...); // 3 — send confirmation email await step.run("send-confirmation", ...); });