Duroxide PostgreSQL Provider
A PostgreSQL-based provider implementation for Duroxide, a durable task orchestration framework for Rust.
Note: See CHANGELOG.md for version history and breaking changes.
Installation
Add to your Cargo.toml:
[]
= "0.1"
Usage
use PostgresProvider;
use Worker;
async
Custom Schema
To isolate data in a specific PostgreSQL schema:
let provider = new_with_schema.await?;
Configuration
| Environment Variable | Description | Default |
|---|---|---|
DUROXIDE_PG_POOL_MAX |
Maximum connection pool size | 10 |
Features
- Automatic schema migration on startup
- Connection pooling via sqlx
- Custom schema support for multi-tenant isolation
- Full implementation of the Duroxide
ProviderandProviderAdmintraits - Poison message detection with attempt count tracking
- Lock renewal for long-running orchestrations and activities
Latest Release (0.1.8)
- Fix timestamp consistency issue causing intermittent test failures
- All stored procedures now use Rust-provided timestamps instead of database
NOW() - New migration
0006_use_rust_timestamps.sql - See CHANGELOG.md for full version history
License
MIT License - see LICENSE for details.