dbos-inc/dbos-transact-ts

Database-Backed Durable TypeScript Workflows

What it solves

DBOS Transact provides a way to make TypeScript programs reliable and fault-tolerant without requiring a separate, heavyweight orchestration server. It solves the problem of managing complex state and recovery logic when applications face server crashes or interrupted long-running processes, such as payment services or data pipelines.

How it works

DBOS uses a Postgres database to checkpoint the state of a program. By registering ordinary functions as "workflows" and "steps," developers can ensure that if a program fails, it automatically resumes from the last completed step upon restart. It eliminates the need for external task queues or orchestrators by implementing the durability logic directly within a library.

Who it’s for

Developers building applications that require high reliability, such as those managing financial transactions, data pipelines, or AI agents that rely on non-deterministic or unreliable external APIs.

Highlights

  • Durable Workflows: Automatically resumes execution from the last checkpoint in Postgres after a failure.
  • Durable Queues: Background task execution with flow control, rate limiting, and deduplication, backed by Postgres.
  • Programmatic Management: Ability to query, pause, resume, or fork failed workflows directly via Postgres tables.
  • Exactly-Once Processing: Built-in support for idempotency keys to ensure events are processed exactly once.
  • Durable Scheduling: Support for cron-based scheduling and long-term "durable sleep" that persists through restarts.
  • Durable Notifications: Exactly-once semantics for sending and receiving notifications to pause or resume workflows.

Related

  • Project
  • Project
  • Project
  • Project
  • Project