2.1.12 • Published 6 years ago
@seedalpha/job-queue v2.1.12
JobQueue
Storage agnostic job queue
Changelog
2.1.2:
- fix typo when setting timeout
2.1.1:
- dont throw on connection problems, just reconnect
- debug log
2.1.0:
- support stop listening on job complete
- fix tests
2.0.1:
- fix tests
seed-sqspaths
2.0.0:
- custom job types (uses single queue; breaking API changes)
- timeout stale jobs (2min default)
- jobs emit
errorandtimeoutevents to queue now (will trigger silent expiration) - setup npm to use
NPM_AUTH - update docs
Prerequisites (for tests)
$ export AMAZON_ACCESS_KEY_ID=...
$ export AMAZON_ACCESS_KEY_SECRET=...
$ export SQS_QUEUE=...Installation
$ npm install seed-job-queue --save
$ npm install seed-sqs --save # to use with sqsUsage
// index.js
var Queue = require('seed-sqs');
var JobQueue = require('seed-job-queue');
var queue = new Queue({
name: 'staging',
key: process.env.AMAZON_ACCESS_KEY_ID,
secret: process.env.AMAZON_ACCESS_KEY_SECRET
});
var jobs = new JobQueue(queue, {
timeout: 2 * 60 * 1000
});
jobs.process(function(job) {
jobt.type // get job type
job.data // get underlying job data
job.done(); // to complete a job
job.done('Error'); // to let job expire and retry
job.done(null, true); // to complete job and stop processing
});
jobs.create('send-mail', data, function(error) {
// job created
});
jobs.create('send-quick-mail', data, { timeout: 2000 }, function(error) {
// job created,
// if it will take more than 2sec to sent that email
// job will timeout and return back to the queue
});Development
$ git clone git@github.com:seedalpha/job-queue.git
$ cd job-queue
$ npm install
$ npm testAuthor
Vladimir Popov vlad@seedalpha.net
License
©2014 Seedalpha