durable_queue 0.2.0
durable_queue: ^0.2.0 copied to clipboard
A backend-agnostic persistent task queue for Dart and Flutter with retries, backoff, concurrency control, and recovery.
0.2.0 #
- Add
DurableQueue.retryto re-queue a failed or cancelled task with a fresh attempt budget and an optional replacement retry policy. - Add
DurableQueue.deleteandDurableQueue.purgeso finished tasks no longer accumulate in storage forever.purgefilters by terminal status and age. - Add
DurableQueue.closeandisClosedto stop the worker and close theeventsandstorageErrorsstreams. - Add
TaskStatus.isTerminalandTaskStatus.isActive. - Fix four unresolved dartdoc references and the
TaskStatusstate diagram (due retries move straight torunning). - Add
issue_trackerandtopicsto the pubspec. - No storage contract changes: existing
QueueStorageadapters keep working. - The storage contract for adapter authors now lives in
STORAGE.mdat the package root.
0.1.0 #
- Initial release of the durable task queue.
- Serializable tasks with immutable payload snapshots and isolated execution attempts.
- Indexed in-memory storage, bounded worker queries, and a documented storage contract.
- Constant-delay and exponential retries, jitter, retry predicates, and attempt limits.
- Concurrency limits, deduplication, idempotency metadata, and cancellation.
- Pause, resume, and stop controls.
- Lifecycle events, task queries, and failure metadata.
- Batched startup recovery for interrupted tasks.
- Automatic retries of worker storage operations without rerunning handlers, with a storage error stream and configurable retry delay.
- An injectable clock so retry tests do not wait on real time.