isolate_workgroup 1.0.0 copy "isolate_workgroup: ^1.0.0" to clipboard
isolate_workgroup: ^1.0.0 copied to clipboard

A Dart package for managing a dynamic group of isolates — supports one-off job dispatch, persistent members, health monitoring, and runtime workgroup resizing.

1.0.0 #

Initial public release. A dynamic pool of worker isolates for parallel processing in Dart, forked and rebranded from isolate_pool_2.

Highlights #

  • IsolateWorkgroup — top-level pool with launch(), dispatch(), addInstance(), kill(), addIsolate(), shutdown(), probe(), and typed error handlers via setErrorHandler(IsolateErrorType.…).
  • WorkgroupJob<E> — one-off jobs with Future<E> execute().
  • WorkgroupMember + MemberProxy<T> — persistent stateful workers addressed by proxy, with setup() / handle() / dispose() lifecycle and WorkerCommand-based RPC.
  • CallbackWorkgroup<R, A> — single-shot job with report(arg) progress callbacks.
  • WorkgroupHealthConfigdisabled / aggressive / relaxed presets, plus per-field tuning of ping timeouts, staleness, failure thresholds, and pre-dispatch checks.
  • WorkgroupConfig — bundles onSetup, fatalErrors, labelBuilder, startupPolicy (concurrent / sequential), and health config.
  • 9 typed exceptionsWorkgroupException, WorkgroupInactiveException, WorkgroupJobAbortedException, WorkgroupNotReadyException, WorkgroupSetupException, WorkgroupTimeoutException, WorkgroupMemberNotFoundException, WorkgroupMemberDeadException, InvalidWorkgroupResponseException.
  • Validation helperscanBeSentToIsolate(obj) and the WorkgroupMemberValidation extension.

Documentation #

  • README with hero animation, API cheatsheet, and architecture diagram.
  • BEST_PRACTICES.md — sizing, payload design, closure-capture pitfalls, error handling, health-check tuning, and large-binary transfers.
  • example/example.dart — parallel reduce and stateful counter samples.

Tests #

  • 199 tests across fast / slow / perf suites covering lifecycle, dispatch, members, kill, addIsolate, validation, error handlers, health, callback workgroup, init policy, concurrency stress, memory leaks, subprocess exit, and informational benchmarks.
0
likes
160
points
90
downloads

Documentation

API reference

Publisher

verified publisherjustbrendan.me

Weekly Downloads

A Dart package for managing a dynamic group of isolates — supports one-off job dispatch, persistent members, health monitoring, and runtime workgroup resizing.

Repository (GitHub)
View/report issues
Contributing

Topics

#isolate #concurrency #parallel #worker-pool #compute

License

BSD-3-Clause, MIT (license)

Dependencies

meta

More

Packages that depend on isolate_workgroup