co-jobs

1.0.2 • Public • Published

Co Jobs

A job handler with concurrency and prioritization.

var jobs = require('jobs')()
jobs.concurrency = 5
 
co(function* () {
  jobs.push('task1id', task1)
  jobs.push('task2id', task2)
 
  var result1 = yield jobs.await('task1id')
})

API

var jobs = Jobs([options])

Create a new jobs instance. Options:

  • concurrency: 1

jobs.concurrency=

Set the concurrency of the jobs.

var length = jobs.push([id], fn, [priority])

Push a job to be run.

  • fn - currently jobs must be a thunk.
  • id - a unique job id as a string. Defaults to a random string.
  • priority: 0 - a priority as a number.

var result = yield jobs.await(event)

Await the result of an event. All job ids are emitted as events. There are additionally these events:

  • drain - when there are no more jobs to run

jobs.prioritize(id, priority)

If a job by id exists, sets its priority to priority.

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 1.0.2
    2
    • latest

Version History

  • Version
    Downloads (Last 7 Days)
    • Published
  • 1.0.2
    2
  • 1.0.1
    1
  • 1.0.0
    1

Package Sidebar

Install

npm i co-jobs

Weekly Downloads

4

Version

1.0.2

License

MIT

Last publish

Collaborators

  • coderhaoxin
  • jongleberry