Skip to content

vigan-abd/task-queue-js

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Jun 16, 2022
fa5384f · Jun 16, 2022

History

5 Commits
Jun 16, 2022
Jun 16, 2022
Jun 16, 2022
Jun 16, 2022
Jun 16, 2022
Jun 4, 2022
Jun 16, 2022
Jun 16, 2022
Jun 16, 2022
Jun 16, 2022

Repository files navigation

task-queue-js

NodeJS task queue work running asynchronous functions

Installing

npm install --save-prod @vigan-abd/task-queue-js

Testing

npm test

Usage

const { TaskQueue } = require('@vigan-abd/task-queue-js')

const main = async () => {
  const tq = new TaskQueue()
  tq.initQueue('foo')

  const calcs = []
  const someTask = async (ms, i) => {
    await new Promise(resolve => setTimeout(resolve, ms))
    calcs.push(i)
    return i
  }

  const promises = []
  promises.push(tq.pushTask('foo', () => someTask(3000, 1)))
  promises.push(tq.pushTask('foo', () => someTask(5000, 2)))
  promises.push(tq.pushTask('foo', () => someTask(1000, 3)))
  promises.push(tq.pushTask('foo', () => someTask(1000, 4)))

  const batchRes = await Promise.all(promises)
  console.log('batch results', batchRes, calcs)
}

main().catch(console.error)

More examples can be found under examples directory!

Authors

  • vigan.abd

About

nodejs task queue work running asynchronous functions

Resources

License

Stars

Watchers

Forks

Packages

No packages published