1.1.1 • Published 4 years ago

async-task-manager v1.1.1

Weekly downloads
-
License
MIT
Repository
-
Last release
4 years ago

async-task-manager

asynchronous tasks execution manager

Usage

npm install --save async-task-manager

import { TaskCapsule, ParallelQueue } from 'async-task-manager'

let queue = new ParallelQueue({
  limit: 3, // parallel limitation
})

new Array(10).fill('').forEach((_, index) => {
  queue.add(
    new TaskCapsule(
      // A function return Promise<T>
      () => new Promise((resolve) => {
        setTimeout(() => {
          console.log(`Task ${index + 1} executed!`)
          resolve()
        }, Math.random() * 1000)
      })
    )
  )
})

queue.consume().then(() => console.log('finished'))

Result look like this

  Task 1 executed!
  Task 2 executed!
  Task 0 executed!
  Task 5 executed!
  Task 3 executed!
  Task 4 executed!
  Task 6 executed!
  Task 8 executed!
  Task 7 executed!
  Task 9 executed!
  finished
1.1.1

4 years ago

1.1.0

4 years ago

1.0.9

4 years ago

1.0.8

4 years ago

1.0.7

5 years ago

1.0.6

5 years ago

1.0.5

5 years ago

1.0.4

5 years ago

1.0.2

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago