loom 1.0.0 copy "loom: ^1.0.0" to clipboard
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
  • WorkerPool with configurable worker count and execution modes
  • Task<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 CancellationToken and CancellationTokenSource
  • Progress reporting through TaskContext.reportProgress
  • Lifecycle hooks: onJobStart, onJobSuccess, onJobFailure, onRetry, onPoolIdle, onPoolShutdown
  • Multiple execution backends: MainIsolateBackend, IsolatePoolBackend, TestBackend
  • JobResult<O> sealed class with JobSuccess and JobFailure variants
  • JobHandle<O> for tracking job status, progress, and cancellation
  • Loom singleton for global default pool access
  • Queue overflow strategies: reject, dropOldest, dropNewest
  • Graceful and force shutdown support
  • Comprehensive test suite (200 tests)
  • Performance benchmarks
1
likes
160
points
--
downloads

Publisher

unverified uploader

Weekly Downloads

A lightweight, flexible worker pool framework for Dart with priority scheduling, retry policies, and graceful cancellation.

Homepage
Repository (GitHub)
View/report issues

Topics

#concurrency #worker-pool #async #isolate #task-queue

Documentation

API reference

License

MIT (license)

More

Packages that depend on loom