Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I think a clearer way to think about this is "at least once" message delivery plus idempotent workflow execution is effectively exactly-once event processing.

The DBOS workflow execution itself is idempotent (assume each step is idempotent). When DBOS starts a workflow, the "start" (workflow inputs) is durably logged first. If the app crashes, on restart, DBOS reloads from Postgres and resumes from the last completed step. Steps are checkpointed so they don't re-run once recorded.



Why would u need exactly once semantics if the workflow is idempotent?

You specifically need exactly once when the action you are doing is not idempotent.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: