{"_id":"@kev_nz/delayed-job","_rev":"3-21ca711b312ce3da5671caa4b240d0ce","name":"@kev_nz/delayed-job","dist-tags":{"latest":"1.0.2"},"versions":{"1.0.0":{"name":"@kev_nz/delayed-job","version":"1.0.0","description":"Redis backed Node.js implementation of delayed job","main":"index.js","scripts":{"test":"node ./examples/test.js","lint:examples":"eslint ./examples","work:redis":"node ./examples/redis.js","work:memory":"node ./examples/memory.js","lint":"eslint ./lib"},"repository":{"type":"git","url":"git+https://github.com/kev_nz/delayed-job.git"},"keywords":["Delayed","Job","Redis"],"author":{"name":"Kevin Isom","email":"kevin.isom@gmail.com"},"license":"MIT","devDependencies":{"@kev_nz/eslint-config":"^1.0.0","eslint":"^5.7.0"},"dependencies":{"cache-base":"^4.0.0","ioredis":"^4.2.0","ioredis-mock":"^4.1.1"},"gitHead":"2404c45728024ca1a596d6c726dbc76607270b0e","bugs":{"url":"https://github.com/kev_nz/delayed-job/issues"},"homepage":"https://github.com/kev_nz/delayed-job#readme","_id":"@kev_nz/delayed-job@1.0.0","_npmVersion":"6.4.1","_nodeVersion":"10.11.0","_npmUser":{"name":"kev_nz","email":"kevin.isom@gmail.com"},"dist":{"integrity":"sha512-IkxPPUJHSpqF1NW+y3ZHtwIZPVAmUbnc7W8QGXsB7isle9Z16jmpnxqRKzF9EUEhTQYByFZeaqT8Jrt34pVfUQ==","shasum":"916c2ff04a610ed458b949a2196fd41a6dd2193a","tarball":"https://registry.npmjs.org/@kev_nz/delayed-job/-/delayed-job-1.0.0.tgz","fileCount":10,"unpackedSize":8584,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbz8vVCRA9TVsSAnZWagAAjgEP/0OrXl3WWjO+eimUNd2L\ndqUVeV4piiHkO4yj5+6jLVxmnOoyxhqU7Py6u5g/vDUQMS4iWsUzXt3bh6S5\n0DwSpBQVhmzZfTCWMFU9hQljD3kQlkUckywjduxOYXGMKeqmW3yEmIhDG92o\ntlCwlpnXaLYyzqKYqSHTY2xb5Aug9CjkzJEXhpjfT1yosOY7fEX763PAJwGu\n1NTAlO4nsTfjB9W3+BFDPP8yj809bWXh6K+D82EFB63BXK4vBlwFS2Yk7CGp\nicK3ifKA+a3wbjDN7c73OTCm25RzWt6NNwBYUkcHZNeiL9yqiIRZjt9A+HE/\nitfAa5fvl2X/3agaVzO92xqpYFkdzBJxSM4G+dJOnDZ4FNjDd6fuIoxhAguv\nKTu8KGvm/UzRvugf2AXVeA1MlGqY02o/GX+D59gjV1QfB9pox7To4A0U4Oa9\ngXNCOiWhcPJjTbfmXYqTGZr16MtejwhFFj+CAKbx4AAcOFalYtBvDMBxmzvs\nqllISy6392ogjpHQFIjQ51muDIemI3X3VvpzehAAbK5m8oVUQv/N8L3NNBgC\nNZhBezhtCewfe4mZWJfQNF/c4RZZgPc7FsGWVa/q3C80wGv46dPlStIbaclE\nMi+UT+2TjZgkPvxIof34cCtUHyT7/i8SNd9kAJtplMTqhULtsEKCbuEa3m4D\nXE/n\r\n=TtrN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCaecYNBVVfcUwN1/D7y3kGqnDcURv5s/6IQYvWF86c3QIhAMQ8zCDxrSXtaagpfDvkgT4tPIfAbVjERe9eJj4cIFJ4"}]},"maintainers":[{"name":"kev_nz","email":"kevin.isom@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/delayed-job_1.0.0_1540344788261_0.9336808141172515"},"_hasShrinkwrap":false},"1.0.1":{"name":"@kev_nz/delayed-job","version":"1.0.1","description":"Redis backed Node.js implementation of delayed job","main":"index.js","scripts":{"test":"node ./examples/test.js","lint:examples":"eslint ./examples","work:redis":"node ./examples/redis.js","work:memory":"node ./examples/memory.js","lint":"eslint ./lib"},"repository":{"type":"git","url":"git+https://github.com/Kevnz/delayed-job.git"},"keywords":["Delayed","Job","Redis","scheduler","queue","job queue"],"author":{"name":"Kevin Isom","email":"kevin.isom@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/Kevnz/delayed-job/issues"},"homepage":"https://kevinisom.info/delayed-job","devDependencies":{"@kev_nz/eslint-config":"^3.2.1","@kev_nz/publisher":"^3.0.1","eslint":"^5.16.0"},"dependencies":{"cache-base":"^4.0.0","ioredis":"^4.9.0","ioredis-mock":"^4.9.0"},"gitHead":"9c7aac250dbde50e22ed5f19e334a8bb82f09754","_id":"@kev_nz/delayed-job@1.0.1","_nodeVersion":"11.10.0","_npmVersion":"6.8.0","dist":{"integrity":"sha512-xR918Lsbp7pJpW9BaNo67lkFOMZ7SHe1sreKuNp1L288oTqizGbaUfJxM03x3gwAPzFzQ7zAdXOKhotJVayAOg==","shasum":"e20786f36265375927eb2a799fe92dca1ab82f10","tarball":"https://registry.npmjs.org/@kev_nz/delayed-job/-/delayed-job-1.0.1.tgz","fileCount":10,"unpackedSize":9499,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcwiPZCRA9TVsSAnZWagAAEM8P/0U/ccXAiGRqtjzO5CxT\nbJYlRIy6DR3sG9uPAM9vPDpjA/Y8f24jBzr3odMLyUTSThw+RP0XBY/FL7Im\n4V6pIWi2UUQQkYiXdYB9Yr2QzHg9p+LXeBGPO26lyr2dHDmY2ALOolnX3esU\nDBt/jU66weorJOesf0wYMxljuX7mMRm04CEH7kI2gjMNrX/wnSNbKhsGMqNb\nF5WnXci0+ZURyymJQtO5KwLTLHWd7bH/7tyWSMnkw7muSLvXGIst2DeO6TPK\nwSfBjYLLn3FIyuRV4TOUr1U5ogF2Ah4SSBC+riMOFxEI1QfGvO1TiKG3JiUT\nuFZe7mhgd0Gjoo83428WijDfV3titWwb0P2BhdQ2eNUAMHyUa7YUw79EeKYh\nmVhq8wixFfob/I0DK1a9V8Rn5rmnDVrKb2Lg3od82WFFkJAgiSCzbduSuAoM\nlKaFRbyRxiqnHWwpcUX0X7l//R61XZb7nQjT7WUcfZhB3Y8G0bS94h5CFV3i\nSIO7IDPHlGpKcfNXublmqKZoNQ56LWwD8b3RloaEGrgo9EWveLIFQ/XdJwsR\nzgsmbBJcCMFTXSX4XMjrhE03/KJ1rYeAVuCYhqsR/CFwxwme85fxxVO2e9Av\nNl1zIJqJ04r24LDB9veaiKepZTko1i5BcgJ7x9QhTN3UJeQtpNL7IFuQAyVX\nLb66\r\n=kqtZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCRVYv0WMxBNUo8LOl9p/eJXHMR58GvgF8QA4+ZS3x40wIgb5P0mV4gNtwyKUH8xsgb7Uq/JtoG+XVm0tqSbFRISFg="}]},"maintainers":[{"name":"kev_nz","email":"kevin.isom@gmail.com"}],"_npmUser":{"name":"kev_nz","email":"kevin.isom@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/delayed-job_1.0.1_1556227032259_0.3139559941563208"},"_hasShrinkwrap":false},"1.0.2":{"name":"@kev_nz/delayed-job","version":"1.0.2","description":"Redis backed Node.js implementation of delayed job","main":"index.js","scripts":{"test":"node ./examples/test.js","lint:examples":"eslint ./examples","work:redis":"node ./examples/redis.js","work:memory":"node ./examples/memory.js","lint":"eslint ./lib","preversion":"npm run lint && npm test","postversion":"npm publish --access=public","postpublish":"git push origin --all --follow-tags && npx publisher"},"repository":{"type":"git","url":"git+https://github.com/Kevnz/delayed-job.git"},"keywords":["Delayed","Job","Redis","scheduler","queue","job queue"],"author":{"name":"Kevin Isom","email":"kevin.isom@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/Kevnz/delayed-job/issues"},"homepage":"https://kevinisom.info/delayed-job","devDependencies":{"@kev_nz/eslint-config":"^3.2.1","@kev_nz/publisher":"^3.0.1","eslint":"^5.16.0"},"dependencies":{"cache-base":"^4.0.0","ioredis":"^4.9.0","ioredis-mock":"^4.9.0"},"gitHead":"0fed53b6e19129001e3ab4004639f396b0407bf7","_id":"@kev_nz/delayed-job@1.0.2","_nodeVersion":"12.0.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-gp3GQcVtCBgPb5OxAMk6lM6W5BLDIKWGR7F8VAMWzjemUdJroV/l5cZLjUJg7jMEelAdVJJ72ZrNrWkP6/C/1Q==","shasum":"7f1611d85f7a3a52d03137004a66e74dd60242b4","tarball":"https://registry.npmjs.org/@kev_nz/delayed-job/-/delayed-job-1.0.2.tgz","fileCount":10,"unpackedSize":9945,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc5xKNCRA9TVsSAnZWagAA4dkP/jrbERPFPFBobn2Di+ZN\nmpMamxVselsViVIBT6wKDyfNWnGmO0xMtP3NpiAoOOmGZrK6alRBRLzlH60+\nr2D0L1nV1QlDfOevQl2+qxY+Rl1u6EQDQc0/5/WGB20LFVx3m13WZJ5yobwC\nALNZk1h+YppPPR+A3PUWz8BE9+/x9FP74uTrU/5GX82a1Vevvhu44tONrgTL\ndXcMIU7EOPwjxxFe99k2Ye8J3ElCY17M+SVmj5x0BYYAmYhW619RWArZTbwL\nPEUzEOh+fwA/+zuKgdczlg+BXh1x0yozhhyH4dR2zaP9XNaW08oWKksyfz3Q\nhjZ4LC5z8W+fKBUbtF5WyzqnYS+UoVO/sAjijcw7UCQy3h374e72RPAb1xr9\n5CsEM+3HvgQwXpFR4ynZOmp2tSrJLrvWn44g/PLr+yBTxKB+mRAG15irPITR\naDXB34oaP126wCmRxSVV5dp4pUMiBObPxQjIl+nCbPH19CKobGmJDE8ws46+\nLir96PKoExAFJ6e0eHONotoxRlUFMJVrVtRvcpdxdg5KT+8BbIn3hvKzduOW\nPm1zDmLY/RVoBIU73kDcOBt5BNrjlHw/AXTHpJh3v/RhYU7LbDSpWffb5yKi\nMRMCVHBOuqBv40geyWBKqNt90nxlsdyw4b5oe3AGh09S3Uy1qRCedoS9rgK2\nqup4\r\n=zq3v\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEOGPCUe1RAbxW2/o02lIjismBgT1Mk6ekckVBe8XgBJAiAUfGdE+UsvKcx9TU0hePN/T+7Fe60qKKoPaLQOEipeZA=="}]},"maintainers":[{"name":"kev_nz","email":"kevin.isom@gmail.com"}],"_npmUser":{"name":"kev_nz","email":"kevin.isom@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/delayed-job_1.0.2_1558647436601_0.01075711076908581"},"_hasShrinkwrap":false}},"time":{"created":"2018-10-24T01:33:08.260Z","1.0.0":"2018-10-24T01:33:08.477Z","modified":"2022-04-05T23:26:55.896Z","1.0.1":"2019-04-25T21:17:12.361Z","1.0.2":"2019-05-23T21:37:16.727Z"},"maintainers":[{"name":"kev_nz","email":"kevin.isom@gmail.com"}],"description":"Redis backed Node.js implementation of delayed job","homepage":"https://kevinisom.info/delayed-job","keywords":["Delayed","Job","Redis","scheduler","queue","job queue"],"repository":{"type":"git","url":"git+https://github.com/Kevnz/delayed-job.git"},"author":{"name":"Kevin Isom","email":"kevin.isom@gmail.com"},"bugs":{"url":"https://github.com/Kevnz/delayed-job/issues"},"license":"MIT","readme":"# delayed-job\n\ndelayed-job is a horizontally scalable Node.js 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.\n\n![delayed-job](https://kevinisom.info/delayed-job/delayed-job.png)\n\n## Installation\n\n```bash\nnpm install @kev_nz/delayed-job\n```\n\n## Usage\n\n```javascript\nconst Scheduler = require('@kev_nz/delayed-job')\n\nconst schedule = Scheduler.createSchedule({\n  url: '',\n  backend: {\n    name: 'redis', // memory is also available\n    jobHoldingBay: 'myUniqueListKey'\n  }\n})\n\nschedule.on('job', job => {\n  console.log('Received job',job);\n})\n\nconst myJob = {\n  title: 'Great Gig In The Sky'\n}\n\nschedule.delay(myJob, 2000)\n```\n\n## API\n\n### schedular.delay(job, timeout)\n\nSchedule a job for execution\n\n## Assumptions\n\n* errors thrown will result in re-establishing the scheduler [expand]\n* Single atomic source of truth\n* Db interactions are also atomic\n* Jobs emitted have no immediate relationship to one another\n\n## Prior Art\n\nOriginally based on [https://github.com/thatguydan/delayed-job](https://github.com/thatguydan/delayed-job) But that project hasn't been update in six years","readmeFilename":"README.md"}