Skip to content

Releases: actionhero/node-resque

No-Op Error Plugin; Ensure Integers for enqueue delays

24 Oct 22:08
Compare
Choose a tag to compare
  • Demonstrate an 'error-ignoring' resque plugin
  • Ensure that time delays / time stamps are integers for queue.enqueueAt and queue.enqueueIn

Offload pid parsing to OS to reduce returned buffer size

11 Oct 19:26
Compare
Choose a tag to compare

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

05 Oct 16:59
Compare
Choose a tag to compare

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

05 Oct 16:58
Compare
Choose a tag to compare

From the new README:

It is very important that your jobs handle uncaughtRejections and other errors of this type properly. As of node-resque version 4, we no longer use domains to 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 use catch() 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 job node-resque was working on to the redis error queue with worker.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)

04 Sep 17:28
Compare
Choose a tag to compare

(Solves #158).
Removes a multi delete command when untracking workers to prevent errors when using a redis cluster.

remove event listiners from redis when connections end

02 Sep 23:53
Compare
Choose a tag to compare

Soves an issue where stopping and starting multiWorker child workers when passing in a redis connection directly would cause an event-emitter warning.

See #155 for more details.

v3.0.2: Check if setInterval().unref() exists before call

18 Aug 23:07
Compare
Choose a tag to compare

Test if unref() exists before calling it. This allows node-resque to work in a browser context (such as an electron render process).

v3.0.1

11 Aug 21:15
Compare
Choose a tag to compare

Speed up the shutdown behavior of mutliWorker

v3.0.0

30 Jul 17:17
Compare
Choose a tag to compare
  • Require that queue methods be async and require a callback
  • Add actionhero's eslintrc, and make the code pretty
  • Use the async library to dry up this project, enhance readability
  • Block more than one task with the exact same args from being enqueuedAt (in) for at the same timestamp (to prevent non-deterministic behavior with locking plugins) (#145)

v2.1.2

27 Jul 17:52
Compare
Choose a tag to compare

(bug) worker domain errors should trigger after_perform