{"_id":"rqueue","_rev":"21-cb46ccd9b77c38b68adc11b7c4ef3181","name":"rqueue","description":"A node.js implementation of RQueue, includes Worker and Queue.","dist-tags":{"latest":"0.4.0"},"versions":{"0.1.2":{"name":"rqueue","description":"A node.js implementation of RQueue, includes Worker and Queue ","version":"0.1.2","author":{"name":"Tim Smart","email":"tim@votizen.com"},"contributors":[{"name":"Micheil Smith","email":"micheil@votizen.com"}],"engine":["node >=0.3.6"],"main":"./","dependencies":{"node-uuid":">=1.1.0"},"_id":"rqueue@0.1.2","engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"0.3.4","_nodeVersion":"v0.4.0","directories":{},"files":[""],"_defaultsLoaded":true,"dist":{"shasum":"b5228215bb8b90ef897496357d94cd680da9ee60","tarball":"https://registry.npmjs.org/rqueue/-/rqueue-0.1.2.tgz","integrity":"sha512-xht7lRKL5fzdBwCDJgEXmH6c6YAx40+KLM9+/Ut/V+OP3bFenBkghk3qdRYz4T0/uNS21j3RhmANa7l1/MGAYg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD/f20wLP3wiaNc2e16NFzxb3jw6WWVUK77yp/jWJRX8AIhAP4GFIS1exAUH+l+aZgDDUmMMSvi0XbRm/TWAk1oR++k"}]}},"0.1.5":{"name":"rqueue","description":"A node.js implementation of RQueue, includes Worker and Queue ","version":"0.1.5","author":{"name":"Tim Smart","email":"tim@votizen.com"},"contributors":[{"name":"Micheil Smith","email":"micheil@votizen.com"}],"engine":["node >=0.3.6"],"main":"./","dependencies":{"node-uuid":">=1.1.0","filter":">=0.1.0"},"_id":"rqueue@0.1.5","engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"0.3.0-7","_nodeVersion":"v0.4.1","directories":{},"files":[""],"_defaultsLoaded":true,"dist":{"shasum":"f103f06c250dcbdaab47f483166a78a0416c8e12","tarball":"https://registry.npmjs.org/rqueue/-/rqueue-0.1.5.tgz","integrity":"sha512-nYuCa7oTWJpr29NMkLCHiz2vDR2AHCYdGQ1vvz1OWFrO4v4koYipt6ErFiN2rlLIN6IoZCNfNOCsVjOLA8QkkQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA9VKV6afSHw7UxDRQaobbDOcwZlY4yHzSdFQ19OV51QAiBHQQM/140W90RVmh2pa6Wu9mA9L5+TwtY1KwHO4uFCDg=="}]}},"0.1.6":{"name":"rqueue","description":"A node.js implementation of RQueue, includes Worker and Queue ","version":"0.1.6","author":{"name":"Tim Smart","email":"tim@votizen.com"},"engine":["node >=0.3.6"],"main":"./","dependencies":{"node-uuid":">=1.1.0","filter":">=0.1.0"},"_id":"rqueue@0.1.6","engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"0.3.0-7","_nodeVersion":"v0.5.0-pre","directories":{},"files":[""],"_defaultsLoaded":true,"dist":{"shasum":"e77e7c056a63789c93826e2dc304210c7f88605c","tarball":"https://registry.npmjs.org/rqueue/-/rqueue-0.1.6.tgz","integrity":"sha512-p8ljy27TzDW17vHAO3Q2EBwy4c2IMpU3lRsKn1soxe7r9o3cDWkdFUzSvF/r5QBtJBkBnAyhOuZfXQmlq7z1Gg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFH781N6QfeS2sB9dvCcoApccf1KLORlC226tSumHmQNAiBfGdqBz+N16MMvLRMd3r8a+GjEUkdtyw+kjavgzfb4TA=="}]}},"0.2.0":{"name":"rqueue","description":"A node.js implementation of RQueue, includes Worker and Queue.","version":"0.2.0","author":{"name":"Tim Smart","email":"tim@fostle.com"},"main":"./","dependencies":{"node-uuid":">=1.1.0","filter":">=0.1.0","node-redis":"0.1.x"},"_id":"rqueue@0.2.0","dist":{"shasum":"0c5ec71fd2aaa502051ad951544131d7ed14338f","tarball":"https://registry.npmjs.org/rqueue/-/rqueue-0.2.0.tgz","integrity":"sha512-agREjENR0fptgl+pyn7xIUBQiDIWPX2CSLl6e9FRWfEpNuKPpn0Ce3a9mvwTbHwrs00NHrYhPrEGHjrEXNhVgw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIENhKoCXisnh2P4aMpqNtVLYoDLldQCfScKVCWqRJ5AkAiAjFi1tX0uQSDY1vMFpidJGe2oidu45KXKv4dLpUCyg+A=="}]},"maintainers":[{"name":"miksago","email":"micheil@brandedcode.com"},{"name":"Tim-Smart","email":"tim@fostle.com"}]},"0.4.0":{"name":"rqueue","description":"A node.js implementation of RQueue, includes Worker and Queue.","version":"0.4.0","author":{"name":"Tim Smart","email":"tim@fostle.com"},"main":"./","dependencies":{"node-uuid":">=1.1.0","filter":">=0.1.0","node-redis":"0.1.x"},"_id":"rqueue@0.4.0","dist":{"shasum":"d521084d04a81a491cd538a7dc2e283235d49317","tarball":"https://registry.npmjs.org/rqueue/-/rqueue-0.4.0.tgz","integrity":"sha512-8jlBkffEjG/Ov3NWtPiON0adIXAW+AqPIWizJdX2wj3htYX8LMHrogMOc8JoPz8qZ47cQasXeRhwAwoNJJ6MbQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDxThQKZtymIBGBZPcDZSQMkxtc9+U2EGGj1wTaj56iwAiEA0/iEyiPvbffMvZX9bt4GX5hWE5KHieHodEaVDMkNT2I="}]},"_from":".","_npmVersion":"1.2.25","_npmUser":{"name":"tim-smart","email":"tim@fostle.com"},"maintainers":[{"name":"miksago","email":"micheil@brandedcode.com"},{"name":"tim-smart","email":"tim@fostle.com"}]}},"maintainers":[{"name":"tim-smart","email":"tim@fostle.com"}],"time":{"modified":"2022-06-26T14:28:38.470Z","created":"2011-02-22T13:09:40.699Z","0.1.2":"2011-02-22T13:10:04.508Z","0.1.5":"2011-03-01T16:47:49.056Z","0.1.6":"2011-03-07T04:29:13.954Z","0.2.0":"2012-07-11T03:36:04.229Z","0.4.0":"2013-06-26T21:42:30.934Z"},"author":{"name":"Tim Smart","email":"tim@fostle.com"},"readme":"node-rqueue\n-----------\n\nnode-rqueue is a simple Redis based work queue for communicating between multiple platforms.\n\n\nUsage\n-----\n\n```javascript\nvar rq      = require('rqueue')\nvar assert  = require('assert').ok\nvar q       = q.createQueue(\n  { host    : '127.0.0.1'\n  , port    : 6379\n  , auth    : 'redis-password'\n  , name    : 'superq'\n  , prefix  : 'local:'\n  , timeout : 5000\n  }\n)\n\n// Start the worker\nq.listen()\nconsole.log('Worker', q.id, 'started')\n\n// Listen for jobs. Emits rq.Job objects\nq.on('data', function (job) {\n  console.log('Processing job', job.id)\n  job.done() // Move to `completed` status\n  // or\n  // job.retry() // Re-queue job\n  // job.done(error) // Move job to `failed` status\n  // job.retry(error)\n\n  // Emit custom events on pubsub\n  job.emit('progress', 100)\n\n  // Listen for events with a redis client:\n  // redis.psubscribe('local:rq:superq:progress:*')\n  // redis.on('pmessage:local:rq:superq:progress:*', function (key) {\n  //   // Key is `local:rq:superq:progress:*job.id*`\n  //   var job_id = key.split(':').pop()\n  //   q.getJob(id, gotJob)\n  // })\n  //\n  // rqueue emits a lot of events for you. The job id is always the message.\n  // A somewhat exhaustive list:\n  // (Prefix all these with: q.prefix + ':rq:' + q.name + ':'. For the above\n  //  queue it would be `local:rq:superq:`)\n  //\n  // * Everytime a job changes (job.forward) status, a event named after the\n  //   new status is emitted. E.g.\n  //\n  //   * `queued`, `failed`, `complete`, `timeout`, `running`\n  //\n  // * Everytime a job is saved, a `save` event is emitted.\n  //   If it is a new job, `new` is emitted as well.\n  //\n  // * Everytime a job is removed, a `remove` event is emitted.\n\n  // IMPORTANT if you want the worker registration / deregistration to work\n  // as expected.\n  q.end()\n\n  // If a worker has failed or crashed, the id will be in\n  // `local:rq:superq:workers` and its unfinished running jobs\n  // will be in `local:rq:superq:running:*workerid*`\n  // You can migrate the unfinished worker by:\n  //\n  // q.migrate('workerid', callback)\n})\n\n// Quickly create a job and push it to 'queued'\nq.write({ my : 'data' })\n// Callback can be used as second argument.\n\n// Create a job and mess with individual options.\nvar job = q.job({ my : 'data' })\nassert(null === job.status)\nassert(0 === job.retries)\n\n// Timeouts\nassert(5000 === job.timeout) // Set from default timeout in queue options\njob.timeout = 10000 // 10 seconds\n\n// Priority. Higher is more important. Default is 1\nassert(1 === job.priority)\njob.priority = 9001 // Over 9000\n\n// Add some messages\njob.message('Custom info message')\njob.error(new Error('fail'))\n\n// Save the job and push it to the 'queued' status\njob.forward('queued', function (error) {\n  if (error) throw error\n\n  // Get a job from an id\n  q.findJob(job.id, function (error, job) {})\n})\nassert('queued' === job.status)\n\n// Or save it for forwarding later\njob.save(function (error) {})\n```\n\n\nImplement in another language\n-----------------------------\n\nTODO\n","readmeFilename":"README.md"}