Created by: mwielbut
The implementation of setTimeout in Nodejs relies on a 32 bit integer for timeout values. The current default timeout in the delay timer is the max 64 bit integer which causes any possible delay values to start the delay timer. Delays longer than 2^31-1 ms (roughly 24 days) cause an integer overflow and the timeout triggers immediately.
This pull request replaces the default timeout with the max 32bit signed integer so that only valid ms values can start the timer. Anything longer than 24 days will be caught by the guardian timer.
To reproduce this issue clear anything in the delay set and create a new job with a delay > 2^31 ms. It will execute immediately.
https://nodejs.org/docs/latest/api/timers.html#timers_settimeout_callback_delay_args