loom 1.0.0
loom: ^1.0.0 copied to clipboard
A lightweight, flexible worker pool framework for Dart with priority scheduling, retry policies, and graceful cancellation.
Changelog #
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased] #
1.0.0 - 2026-01-26 #
Added #
- Initial release of the loom worker pool framework
WorkerPoolwith configurable worker count and execution modesTask<I, O>for defining typed, reusable work units- Priority-based job scheduling (
Priority.low,normal,high,critical) - Retry policies:
none,fixed,exponentialBackoff,linear - Cancellation support via
CancellationTokenandCancellationTokenSource - Progress reporting through
TaskContext.reportProgress - Lifecycle hooks:
onJobStart,onJobSuccess,onJobFailure,onRetry,onPoolIdle,onPoolShutdown - Multiple execution backends:
MainIsolateBackend,IsolatePoolBackend,TestBackend JobResult<O>sealed class withJobSuccessandJobFailurevariantsJobHandle<O>for tracking job status, progress, and cancellationLoomsingleton for global default pool access- Queue overflow strategies:
reject,dropOldest,dropNewest - Graceful and force shutdown support
- Comprehensive test suite (200 tests)
- Performance benchmarks