Version v0.1 · dotnet
Limits and Guarantees
Practical runtime guarantees and important operational boundaries.
Limits and Guarantees
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.