node-resque v5.3.0 Release Notes

Release Date: 2018-04-26 // almost 6 years ago
  • ⏱ 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