Skip to content

Releases: actionhero/node-resque

v6.0.9

16 Feb 23:56
Compare
Choose a tag to compare

Emit Duration (#320)

We now emit duration for success and failure events:

 worker.on("success", (queue, job, result, duration) => {
    console.log(
      `job success ${queue} ${JSON.stringify(job)} >> ${result} (${duration}ms)`
    );
  });

  worker.on("failure", (queue, job, failure, duration) => {
    console.log(
      `job failure ${queue} ${JSON.stringify(
        job
      )} >> ${failure} (${duration}ms)`
    );
  });

v6.0.8

15 Feb 02:50
e775f20
Compare
Choose a tag to compare

Use multi transactions to increase safety with delayed jobs (#318)

We now uses Redis transactions (with multi) when enqueuing a delayed job and deleting a delayed job queue.

We need to invoke the "watch" command by the scheduler to be notified of any changes to the delayed queue we are about to delete. Then we check that its length is 0. If it isn't we exit. If it is, we start preparing the new multi() command to delete the queue and its entry in delayed_queue_schedule. If a new job is inserted while we are doing this, the "watch" command will prevent the delete from succeeding.

Otherwise, even in the race condition when a job is being added to the same delayed queue that is being removed, the scheduler will remove the queue and entry in delayed_queue_schedule, and then the enqueue will add it back again.

v6.0.7

16 Jan 19:16
Compare
Choose a tag to compare
  • Update dependancies to latest versions
  • update type of JobEmit to include args

v6.0.6

13 Dec 16:31
Compare
Choose a tag to compare
  • move @jest/types to devDependancies (#310)
  • update docs
  • Better document the types of emitters

v6.0.4

26 Nov 17:55
Compare
Choose a tag to compare

Types Updates

  • Export Job, ConnectionOptions, and ErrorPayload
  • Include event types for Worker, Scheduler, Queue, and Multiworker

Thanks to https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/node-resque/index.d.ts for lots of hints

v6.0.2 - Ownership moved to Actionhero Org

13 Nov 19:18
Compare
Choose a tag to compare

This release changes the ownership of the project from the @taskrabbit org to @actionhero.

v6.0.1 - Typescript

13 Nov 18:40
Compare
Choose a tag to compare
  • Move all src, test, and examples to typescript
  • Provide Type definitions
  • Move from standard to prettier for linting and formatting
  • Configure jest to use the ts-node transformer so we can test typescript files directly

We now have a new automatically-built Typedoc webiste @ https://node-resque.actionherojs.com/

v5.5.7

16 Sep 17:08
Compare
Choose a tag to compare

Update queque#forceCleanWorker to ensure that the 'started' key is removed

v5.5.6

09 Sep 00:25
Compare
Choose a tag to compare

Update connection logic to always await a test key write to ensure that the connection is ready before returning

solved #293

This made connection.connect (and therefore worker.connect and scheduler.connect) awaitable until we are really sure that we can read and write to redis.

We rely on the fact that both node-redis and ioredis will buffer and retry redis commands until they either succeed, timeout, or fail. This allows us to skip the on('connected') event and simply wait until we can read data from redis

Update all dependencies

This includes moving to standard v14 which included some large changes to the linter rules

v5.5.5

08 Jul 20:19
Compare
Choose a tag to compare

Fix Atomic JobLock Key Setting

Similar to #283 which made the scheduler atomically get its lock, have the JobLock plugin atomically get its lock so that a crash doesn't cause the lock to be held forever.
Fixed by @jpulec via #285 and @evantahler via 1c5273c

Test with Circle CI

We now test all commits & PRs with Circle CI! See the results here: https://circleci.com/gh/taskrabbit/workflows/node-resque
Fixed by @evantahler via #289