Version v1.x
Limits and Guarantees
Available in
.NET
Node.js
Python
Practical runtime guarantees and important operational boundaries.
This page summarizes what DurableStack aims to guarantee and where limits apply.
Practical guarantees
- Durable providers persist run state across process restarts.
- Lease ownership limits active execution of a run to one worker in normal operation.
- Failed runs are retried while
Attempt < MaxAttempts. - Recurring schedules materialize due runs according to cron/time-zone rules.
Important limits
- In-memory provider is process-local and not durable across restart.
- In-memory provider does not support distributed multi-worker coordination.
- Throughput is bounded by worker settings (
BatchSize,MaxConcurrentRuns) and provider capacity. - Retry behavior is bounded by
MaxAttempts, delay strategy, and optional max delay.
Distributed system reality
DurableStack is designed for effectively-once behavior in normal operation.
Because of crash/recovery timing in distributed systems, handlers must remain idempotent.
Retention boundaries
- Default run retention: 24h for durable DB providers.
- Default run retention: 1h for in-memory provider.
- Historical runs are pruned according to retention configuration.