UNPKG

delayed-job

Version:

Redis backed Node.js implementation of delayed job

42 lines (32 loc) 989 B
delayed-job =========== delayed-job is a horizontally scalable implementation of Ruby's delayed_job. Using semaphore locks it aims to provide an atomic interface to a federation of workers operating on the same job queue. Initial work has focussed on a Redis backed database, however more backend implementations are possible. # Installation ``` npm install delayed-job ``` # Usage ``` var Scheduler = require('delayed-job'); var scheduler = Scheduler.createSchedule({ backend: { name: 'redis', jobHoldingBay: 'myUniqueListKey' } }); scheduler.on('job',function(job) { console.log('Received job',job); }); var myJob = { title: 'Great Gig In The Sky' }; scheduler.delay(myJob,2000); ``` # API ## schedular.delay(job,timeout) Schedule a job for execution # Assumptions * errors thrown will result in re-establishing the scheduler [expand] * Single atomic source of truth * Db interactions are also atomic * Jobs emitted have no immediate relationship to one another