January 2025 Summaries
2 posts from DBOS
Filter
Month:
Year:
Post Summaries
Back to Blog
Version 2.0 of the DBOS Transact durable execution library for TypeScript introduces significant enhancements, making it easier for developers to integrate durable execution into their applications, regardless of the framework used, such as Next.js or Express. This lightweight library allows for seamless persistence of execution states, enabling applications to recover automatically from interruptions or crashes by storing state information in any Postgres-compatible database. Key improvements include a simplified API, compatibility with Node environments, and new templates to facilitate getting started with durable execution, alongside support for durable queues and parallelism control. The library also offers a CLI database connection wizard to assist with linking to a Postgres database, maintaining backward compatibility with previous versions, and providing free serverless app hosting and execution through AWS-based DBOS Cloud.
Jan 16, 2025
748 words in the original blog post.
Durable execution refers to the ability of a program to persist its execution state, allowing it to recover from crashes, interruptions, or restarts and continue from where it left off. Traditionally, durable execution is achieved through external workflow orchestration, which involves an orchestrator and workers that manage the control flow, persist outputs, and resume processes, but this approach can be cumbersome and complex. To simplify this, DBOS Transact offers a lightweight, open-source library that implements durable execution directly within a program, using Python decorators to manage execution states and persist them in a Postgres database. This allows workflows to resume from the last completed step upon a program restart, provided the workflows are deterministic. Additionally, the library supports features like durable sleep, messaging, and queues, providing a robust foundation for building reliable and stateful applications.
Jan 12, 2025
1,506 words in the original blog post.