Releases: actionhero/node-resque
v4.0.8: Ensure that toRun is passed to enqueue even with an error.
If you are enqueuing a job which fails with an error, we weren't properly returning toRun (which would be false) as well. We are now!
v4.0.7: Fix call callback for stopMultiWorker before stop all workers
v4.0.6
v4.0.5 Retry keys
v4.0.4: Bugfix
- fix bug which might cause multiWorker to always work less than minTaskProcessors
- by @evantahler via 67f0a70
No-Op Error Plugin; Ensure Integers for enqueue delays
- Demonstrate an 'error-ignoring' resque plugin
- Ensure that time delays / time stamps are integers for
queue.enqueueAtandqueue.enqueueIn- by @jamesjnadeau via #178
Offload pid parsing to OS to reduce returned buffer size
When getting a list of all runing PIDs on this host (so we can cleanup any previously crashed workers), we had previously taken in the whole PS string and parsed it in Node. If your OS is busy, this list can be quite large and crash your application. Now, we'll offload some of the parsing of this list to AWK (another process) and only get back a list of PIDs to parse.
This shouldn't harm compatibility, as AWK is ubiquitous as GREP.
Fix worker queue reporting on success
This PR changes the internal worker methods of worker.fail and worker.succeed to use (and wait for) a callback internally. This prevents the followup methods, specifically worker.poll to fire before they complete.
This was causing a problem where worker.poll could potentially change the value worker.queue before the success (or failure) event fires, which reads from worker.queue
Remove Domains
From the new README:
It is very important that your jobs handle uncaughtRejections and other errors of this type properly. As of
node-resqueversion 4, we no longer usedomainsto catch what would otherwise be crash-inducing errors in your jobs. This means that a job which causes your application to crash WILL BE LOST FOREVER. Please usecatch()on your promises, handle all of your callbacks, and otherwise write robust node.js applications.If you choose to use
domains,process.onExit, or any other method of "catching" a process crash, you can still move the jobnode-resquewas working on to the redis error queue withworker.fail(error, callback).
This is a breaking change which will trigger the v4 release
Solves #166. Visit this issue for a discussion of the possible alternative solutions
Update worker untrack commands to work across cluster (no multi)
(Solves #158).
Removes a multi delete command when untracking workers to prevent errors when using a redis cluster.