Changelog History
Page 4
-
v5.5.3 Changes
February 07, 2019๐ท Gracefully & in-parallel stop multiworker
๐ท Now when multiworker is asked to stop, all workers are told to stop at the same time. This way, no worker can pick up a new job while waiting for the other workers to stop.
- #268
- by @alexsanya
โ Adding args property to job object when reEnqueue event was emitted
Misc
- ๐ Documentation updates about
worker.end
- โก๏ธ dependencies updates and code format updated for latest ESLint version
-
v5.5.1 Changes
September 24, 2018 -
v5.5.0 Changes
September 06, 2018 -
v5.4.0 Changes
June 19, 2018- โฑ Ensure that the scheduler will not end until the current cycle is complete (by @jdwuarin via #251)
- ๐ท Ensure that
queue#checkStuckWorkers
only clears workers which haven't been cleared by another process (by @jdwuarin via #251) - ๐ท Relax the requirement to recover a job via forceCleanWorker. If we cannot recover the job/queues of the stuck job, still clear the worker (by @evantahler via #247)
-
v5.3.2 Changes
June 08, 2018 -
v5.3.1 Changes
May 30, 2018๐ Use .database on connect
- ๐ use
options.database
with ioredis to select the database number when connectiong - by @BayanBennett via #241
๐ Bugs Fixed:
- ๐ Fix multiworker to wait for all children to stop before exiting
- โฑ Only have scheduler poll for stuck workers once a cycle
- ๐ use
-
v5.3.0 Changes
April 26, 2018โฑ Worker Cleanup by Scheduler
- โ remove
worker#workerCleanup
- โฑ scheduler cleans up workers which stop pinging.
โก๏ธ By default, the scheduler will check for workers which haven't pinged redis in 60 minutes. If this happens, we will assume the process crashed, and remove it from redis. If this worker was working on a job, we will place it in the failed queue for later inspection. Every worker has a timer running in which it then updates a key in redis every
timeout
(default: 5 seconds). If your job is slow, but async, there should be no problem. However, if your job consumes 100% of the CPU of the process, this timer might not fire.๐ง To modify the 60 minute check, change
stuckWorkerTimeout
when configuring your scheudler, ie:const scheduler = new NodeResque.Scheduler({ stuckWorkerTimeout: (1000 \* 60 \* 60) // 1 hour, in ms connection: connectionDetails })
โฑ Set your scheduler's
stuckWorkerTimeout = false
to disable this behavior.const scheduler = new NodeResque.Scheduler({ stuckWorkerTimeout: false // will not fail jobs which haven't pinged redis connection: connectionDetails })
Jest
โ We now test this project with Jest, dropping mocha and should
- โ remove