/queue-system

Promise-based tasks queuing system.

Primary LanguageTypeScriptMIT LicenseMIT

queue-system

Powerful yet simple JavaScript/TypeScript tasks queuing system.

Features

  • 🛠️ full TypeScript support
  • 1️⃣ run tasks one by one or many of them at the same time with defined concurrency
  • 🏎️ change concurrency as you need, pause and unpause the queue
  • ➕ insert task at any position in the queue, put important tasks first or...
  • 💪 ...force start additional task
  • 🛑 cancel tasks, even running ones
  • 👀 events support to monitor your queue
  • 👶 simple API
  • ✔️ fully unit tested

Documentation

See here: https://dzek69.github.io/queue-system

To be done / roadmap

Soon

  • option to cancel ongoing tasks on destroy
  • task itself should have queue position event to listen on

Later

  • add "is finished" method to task (successfully resolved)
  • distinguish tasks status between "is requested to cancel" and "is cancelled" (not doing anything anymore)

Even later

  • (internal) code cleanup?

Far future

  • retries support? move to end of the queue before retry? do nothing until retry timeout passes?

License

MIT