Releases: actionhero/node-resque
v7.2.1
v7.2.0
Resilience Updates (#450)
-
Move the act of
pop
ing a job off of a queue to a transaction viawatch
andmulti
.- This will have speed implications. In a busy system, the occurrences of trying to
"pop"
while writes are happening is high. - We may want to move to a LUA implementation to be truly blocking
- This will have speed implications. In a busy system, the occurrences of trying to
-
Add
queue.retryStuckJobs()
which is a single method to retry jobs which have failed due to the worker timeout. -
Add
options.retryStuckJobs
to the Scheduler, to automatically run the abovequeue.retryStuckJobs()
periodically.
v7.1.0
Enhancements
- Add support for IORedis.Cluster type in ConnectionOptions for TypeScript (#438)
JobLock
option reEnqueue to skip trying job again (#449)
Docs
- mention side-effects of using wildcard queue (#421)
- Node Resque Interfaces: Queue, Worker, and Scheduler (486ce01)
Depreciations
- remove depreciated typo emitter (4bad5c9)
Misc
v7.0.6
v7.0.5
- Multi worker cleanup (#346)
- Apply prettier to markdown files (#348)
- Add links to "domain" in documentation (#347)
- Fix checkWrapper typo (#345)
- Fix remaining typo (#377)
- Fix JavaScript mis-spelling typo (#370)
- Multiworker: fix error handler queue interpolation typo (#372)
- Update README.md (typo) (#361)
- Update dependencies
v7.0.4
connectionOptions.scanCount (#330)
Allows the setting of connectionOptions.scanCount
to increase the number of keys scanned by each iteration of connection.getKeys
. On large datasets, this will improve the performance of queue.allDelayed()
, queue.locks()
, queue.stats()
and even scheduler polling can get very slow, taking over 30 seconds. This is because redis.scan()
gets invoked hundreds of thousands of times when connection.getKeys()
gets called. connection.getKeys()
uses the SCAN
command in Redis. When using SCAN
, the COUNT
parameter is set to 10 by default.
const connectionDetails = {
host: "127.0.0.1",
password: null,
port: 6379,
database: 0
scanCount: 1000 // <-- New!
};
const queue = new Queue({ connection: connectionDetails }, jobs);
await queue.connect();
await queue.stats()
Misc
v7.0.3
v7.0.2
v7.0.1
v7.0.0
Rename Master
to Leader
(#323)
While no underlying functionality has changed, this is a breaking change due to the new names of events/emitters
- Updated effected event handlers from
master
toleader
- Updated
README.md
to reflect the change frommaster
toleader
- Any changes to import statements are them being reordered via TypeScript Hero
- Fixed typo in
__tests__/utils/specHelper.ts
, object was namedSpecHeloer
, changed toSpecHelper
Docker examples (#321)
- Adds examples of how to properly start and stop node-resque processes in docker.
- An accompanying blog post can be found here: https://blog.evantahler.com/production-node-applications-with-docker-3-devops-tips-for-shutting-down-properly-ed54f09f0a7f