executor 2.2.3 icon indicating copy to clipboard operation
executor: ^2.2.3 copied to clipboard

Executes async tasks with a configurable maximum concurrency and rate.

Changelog #

2.2.3 #

  • Fix tasks with non-nullable return types when an error is thrown. (#4 by davidmartos96)

2.2.2 #

  • Migrated to null safety (by swdyh)

2.2.1 #

  • Updated code to Dart 2.7.0 and latest lints.
  • Fix: task completion updates the running count immediately.

2.2.0 #

  • Removed new keyword, and updated to follow package:pedantic rules.
  • Executor.join will register Future.catchError on task futures, preventing uncaught exceptions from blocking further execution.
  • Simplified execution and trigger mechanism.

2.1.2 #

  • Using package:stack_trace to chain async stacktraces when task fails.

2.1.1 #

  • Improved design on loop and scheduling, preserving caller stacktrace with full details.

2.1.0 #

  • Removed Timers to schedule tasks, using a simple loop instead.
  • Better distribution for rate-limited executions.

2.0.0 #

  • Supporting Dart 2 only.

1.0.1 #

  • Dart2 compatibility with package:dart2_constant.

1.0.0 #

Breaking changes

  • Removed deprecated member limit.
  • Renamed ExecutorTask -> AsyncTask, return value to FutureOr.
  • Renamed Rate.limit -> Rate.maximum.

New features

  • Added Executor.onChange. Clients can use this to monitor the current scheduledCount and queue more tasks to ensure Executor is running on full capacity.


  • Added example.
  • Added a few tests.

0.1.2 #

  • Expose internal stats: runningCount, waitingCount, scheduledCount.
  • Enable sync-points with join(), which allows to track the completion of the currently running (and optionally the waiting) tasks.

0.1.1 #

  • Fix missing heartbeat check on Executor.close(), without it the Future might not have completed.

0.1 #

  • start-rate limit support
  • renamed limit to concurrency (leaving old field, marked deprecated)
pub points


verified publisher iconagilord.com

Executes async tasks with a configurable maximum concurrency and rate.

Repository (GitHub)


API reference


Icon for licenses.BSD-3-Clause (LICENSE)




Packages that depend on executor