bull on npm

3.7.0 (14 Feb 2019 22:02)

Job manager


CHANGELOG.md

Changelog

v.3.7.0

  • perf: improve update delay set logic.
  • feat: consider priority when promoting a job #1205.
  • fix: better delay for rate limited jobs.
  • feat: update port selection mechanism for child node process inspect flag.

Changes

v.3.6.0

  • feat: add function to remove repeatable jobs by key.
  • fix: properly remove sandbox events. Fixes #1179.
  • fix: make progress functions in sandbox consistently return a promise.

Changes

v.3.5.3

  • chore: upgrade ioredis to ^4.5.1.
  • fix: fix #1044 support for typescript processors.
  • chore: remove bluebird.
  • chore: use lockKey method instead of private property.
  • fix(queue): convert delay setting to number.

Changes

v.3.5.2

  • chore(queue): remove bluebird config from the codebase.

Changes

v.3.5.1

  • chore(yarn): updated yarn.lock

Changes

v.3.5.0

  • fix(delayed): pause delayed jobs #1087
  • fix(lua): correct numJobs fetch in moveToActive
  • perf(moveToActive): used local var for rate limiter
  • perf(queue): replace bluebird by native promises where possible
  • chore(queue): fix typo in forcedReconnection variable
  • feat(child-processes): catch sub process crashes
  • fix(jobs): reset 'failedReason', 'finishedOn' and 'processedOn' fields on job retry
  • fix(queue): fix Warning: cancellation is disabled
  • fix(queue): remove the correct listener in isRedisReady
  • feat(jobs): allow cancelling of retries when using custom backoff strategy
  • feat(rate-limiter): add discard config for rate-limiter
  • feat(jobs): make job progress accepts variant types
  • fix(repeatable): Fixed wrong repeatable count updates
  • fix(jobs): fix copy paste mistake for stacktrace in job toData
  • feat(child-processes): Propagate stack traces
  • feat(repeatable): add ability for cron repeatable job with startDate

Changes

v.3.4.8

  • emit waiting event when waking up sleep jobs fixing #792
  • throw error if missing processor file fixing #954

Changes

v.3.4.7

  • Fixes to deal with removing correctly in priority queues #984

Changes

v.3.4.6

  • Reverted use of arrow function that was incompatible with older versions of node.

Changes

v.3.4.5

  • Fixed Unhandled promise rejections #1012.

Changes

v.3.4.4

  • Partially fixed #845. When call queue.close() bull throws Error: Connection is closed.
  • Fixed #998. Check for existence of rate limiter options.
  • Fixed #1003. Fixed fixed repeatable jobs duplication using every.
  • Feature/provide error to custom backoff strategy.

Changes

v.3.4.3

  • Fixed #994 queue.getJobs() race condition.
  • Fixed #966 Race conditions reviving repeatable jobs.
  • Fixed getters: Update types array to include paused.
  • Fixed #958 job.finished slowdown.
  • Fixed #949 TypeError: job.queue.client.isFinished is not a function.
  • Fixed #870 TypeError when retrying jobs.
  • Fixed #942 Support for milliseconds intervals in repeatable jobs.

Changes

v.3.4.2

  • Fixed #903 Globally paused queue cannot receive job (or not shown in Arena untill queue is globally resumed).
  • Workaround for #911 Seperate process worker fails to launch when Node is started with --inspect flag
  • added missing retain on reused child job #908.
  • added more tests for child jobs.

Changes

v.3.4.1

  • Better check for closing in moveUnlockedJobsToWait, possibly fixing #806.

Changes

v.3.4.0

  • Added support for prioritized delayed jobs.
  • Added ability to process all named jobs from one process function.
  • Fixed #893, warning 'a promise was rejected with a non-error' for external queues in case of an error.

Changes

v.3.3.10

  • Faster next job fetch #868
  • Added global default options for jobs. Fixes #706.
  • Added a limit for repeatable jobs. #854.

Changes

v.3.3.9

  • Support custom backoff strategies.
  • Fixed #786. Handling of ES6 default export.
  • Fixed #782. Better handling of "isReady".

Changes

v.3.3.8

  • Fixed #812. External process doesn't terminate on queue.close().
  • Fixed #830. Named Process Sent to Wrong Processor.
  • Fixed #572. Do not close external connections.

Changes

v.3.3.7

  • Fixed #807.
  • Adding ability to limit by stacktrace. #798.

Changes

v.3.3.6

  • Fixed #766, #781, #716.
  • Correctly accept DB in redis connection string.
  • Fixed global progress event.

Changes

v.3.3.5

  • Fixed #764, #762, #759.

Changes

v.3.3.4

  • Fixed #748.

Changes

v.3.3.3

  • Re-fixed #739.
  • Possibly fixed for #747.
  • Fixed removeRepeatable (missing file)

Changes

v.3.3.2

  • Fixed #721. SyntaxError: Unexpected token u in JSON at position 0.
  • Fixed #739. childs are not added to the retained set.
  • Fixed #734. fixed Promise warnings.

Changes

v.3.3.1

  • Fixed #714

Changes

v.3.3.0

  • Added a method Queue##removeRepeatable to remove repeatable jobs.
  • Now also emits drained as a global event.
  • Fixed #518, #624

Changes

v.3.2.0

  • Added support for running jobs in child processes #488

Changes

v.3.1.0

  • Added rate limiter support.
  • Added method to update jobs data.
  • Implemented stalled as global event.

Changes

v.3.0.0

  • No changes.

v.3.0.0-rc.10

  • Fixed #666.
  • Small improvements in the repeat code.

Changes

v.3.0.0-rc.9

  • Fixed #672.
  • Fixed #670

Changes

v.3.0.0-rc.8

  • Enhanced job fetching #651 (faster and more reliable).

Changes

v.3.0.0-rc.7

  • Fixed #659

Changes

v.3.0.0-rc.6

  • Fixed #645.

Changes

v.3.0.0-rc.5

  • Improved performance, specially when having many concurrent workers.
  • Fixed #609 using zsets for storing repeatable jobs.
  • Fixed #608 Event chaining no longer works.
  • Improved getters.
  • Fixed #601 Add multiple repeatable jobs with the same cron pattern.

Changes

v.3.0.0-rc.4

  • Added support for naming workers in redis connections #530.
  • Lazy instantiation of redis clients. Fixes #526.
  • job.finished captures result from queue process. #588.
  • Caches LUA scripts to avoid reading files in every queue instantiation. #591.
  • Emit 'drain' event when queue is empty. #596.
  • store finished and processed timestamps. #594, #606.

Changes

v.3.0.0-rc.3

  • Fixed #579.
  • Lazy subscription to events for better performance.
  • Corrected calculation of next repeat job. #563.

Changes

v.3.0.0-rc.2

  • Improved performance of moveToActive #550.
  • Fixed issue with cancelable promise #546.

Changes

v.3.0.0-rc.1

  • Improved error and lock handling for failed jobs #499, #539.
  • Corrected instantiation from urls #538.
  • Return jobs in proper order in jobs getters.

Changes

v.3.0.0-alpha.4

  • Implemented repeatable jobs. #252.

Changes

v.3.0.0-alpha.3

  • Simplified global events #501.

Changes

v.3.0.0-alpha.2

  • Eliminated possible memory leak #503

Changes

v.3.0.0-alpha.1

  • improved job fetch mechanism. #480.
  • job.jobId changed to job.id.
  • refactored error messages into separate error module.
  • refactored lua scripts into separate files, and preloaded.
  • many atomizations and clean ups.
  • completed and failed job states are now represented in ZSETs. #190.

Changes

v.2.2.6

  • Persisted failedReason when storing job data.
  • added queue##isReady()

Changes

v.2.2.5

  • Fixed so that redis key prefix works properly.

Changes

v.2.2.4

  • Allow reusing certain redis connections.

Changes

v.2.2.3

  • Added getJobCounts.
  • Fixed global events #394.

Changes

v.2.2.2

  • Fixed redis script cache gets bloated after update to bull 2.0 #426

Changes

v.2.2.1

  • Re-added createClient option that was removed by mistake.
  • Corrected getJobCountByTypes, fixes #419 and #401

Changes

v.2.2.0

  • Much improved priority queues, simpler, faster and more reliable.
  • Fixed issue where lua scripts where leaking memory.
  • Improvements in local pause, fixing #446 and #447.
  • Fix to increase delay time over 24 days #244

Changes

v.2.1.2

  • Fixed Error renewing lock LockError: Exceeded 0 attempts to lock the resource #437
  • Fixed Unable to renew nonexisting lock on job fail #441

Changes

v.2.1.1

  • Catch errors produced in timers. Related to #441

Changes

v.2.1.0

  • Fixed #397, Error: Unable to renew nonexisting lock
  • Fixed #402, Job.prototype.finished contains error in promise
  • Fixed #371, "Unexpected token u in JSON at position 0" while processing job
  • New feature #363, "method to permanently fail a job"
  • Fix job.progress() to return the correct progress

Changes

v.2.0.0

  • Changed redis module to ioredis fixing many issues along the way, see changes.

Changes

v.1.1.3

  • fixed "Broken constructor pattern from recent commit" #384
  • fixed "Queue.prototype.getWaiting() returns empty list if Queue is paused" #342

Changes

v1.1.2

  • regained backwards compatibility in events by using disturbed 1.0.6

Changes

v1.1.1

Changes

v1.1.0

Changes

v1.0.0

  • improvements in clean (fixes and performance).

Changes

v1.0.0-rc4

  • fixed lock renew logic.
  • atomized code for getting stalled jobs.

Changes

v1.0.0-rc3

  • smaller fixes.

Changes

v1.0.0-rc2

  • Improved locking when removing and processing stalled jobs.
  • Fixed #302 EVALSHA failure.
  • Fixed #295 error with redis 3.2.
  • Correctly allows the specification of the db
  • Honor start/end range for complete/failed jobs.
  • Fixed #277 Memory Leaks With Large Queue.
  • Support for custom key prefix for redis keys.

Changes

v1.0.0-rc1

  • Removed all potential dangerous hazards by atomizing many operations using cached LUA scripts.
  • Improved performance around 400% compared to previous version.
  • Better pause/resume (#266), and added pause for local workers.
  • Fixed #272, #271, #261, #253, #240, #239

Changes

v0.7.2

  • Added local pause/resume functionality
  • fixed memory leaks present in the run promise chain.
  • fixed "Illegal access to a strict mode caller function".

Changes

v0.7.1

  • fixed storing of stacktraces

Changes

v0.7.0

  • store the return value from the job handlers.
  • store stacktraces.
  • improvements in delayed jobs.

Changes

v0.4.0

  • added a Queue##clean method

Changes

v0.3.0

  • added support for custom clients.
  • added test support for node 0.12.
  • timeout improvements.
  • unit test improvements.
  • added timeout to queue pop blocking call.
  • removed when dependency.

Changes

v0.2.7

Changes

v0.2.6

  • [Fix] #103 When a queue start it do not process delayed job. Changes

v0.2.5

  • [upgrade] Upgraded node redis to version 0.12.x
  • [improvement] eslinted all code.
  • [fix] added missing token when calling takeLock on jobs.

Changes

v0.2.4

Changes

v0.2.3

Changes

v0.1.9

  • [Improvement] Faster job removal. (manast)

v0.1.8

  • [Improvement] Better promisification of redis methods. (manast)

v0.1.7

  • [Feature] Added a convenience method for getting a job. (loginx)
  • [Fix] Only set a redis db from options if defined. (jboga)
  • [Fix] Fixed issue #52. (manast)

v0.1.6

  • [Fix] Improved and corrected job's getters.
  • [Fix] Automatically restart queues in the event of redis disconnections.
  • [Feature] Added support for adding jobs in a LIFO fashion.

Version History

Version Date
3.7.0 14 Feb 2019 22:02
3.6.0 22 Jan 2019 19:01
3.5.3 20 Jan 2019 15:01
3.5.2 15 Nov 2018 22:11
3.5.1 14 Nov 2018 22:11
3.5.0 14 Nov 2018 22:11
3.4.8 02 Sep 2018 19:09
3.4.7 15 Aug 2018 20:08
3.4.6 14 Aug 2018 21:08
3.4.5 14 Aug 2018 20:08
3.4.4 22 Jul 2018 18:07
3.4.3 17 Jul 2018 18:07
3.4.2 14 May 2018 16:05
3.4.1 24 Apr 2018 19:04
3.4.0 22 Apr 2018 14:04
3.3.10 19 Feb 2018 10:02
3.3.9 28 Jan 2018 21:01
3.3.8 07 Jan 2018 00:01
3.3.7 05 Dec 2017 09:12
3.3.6 09 Nov 2017 21:11
3.3.5 27 Oct 2017 21:10
3.3.4 24 Oct 2017 18:10
3.3.3 23 Oct 2017 07:10
3.3.2 18 Oct 2017 07:10
3.3.1 08 Oct 2017 17:10
3.3.0 07 Oct 2017 21:10
3.2.0 12 Sep 2017 06:09
3.1.0 04 Sep 2017 20:09
3.0.0 30 Aug 2017 07:08
3.0.0-rc.10 29 Aug 2017 09:08
3.0.0-rc.9 24 Aug 2017 10:08
3.0.0-rc.8 23 Aug 2017 08:08
3.0.0-rc.7 15 Aug 2017 19:08
3.0.0-rc.6 14 Aug 2017 20:08
3.0.0-rc.5 10 Aug 2017 21:08
3.0.0-rc.4 06 Jul 2017 08:07
3.0.0-rc.3 19 Jun 2017 07:06
3.0.0-rc.2 28 May 2017 10:05
3.0.0-rc.1 24 May 2017 07:05
3.0.0-alpha.4 08 May 2017 19:05
3.0.0-alpha.3 29 Apr 2017 18:04
3.0.0-alpha.2 21 Apr 2017 14:04
3.0.0-alpha.1 18 Apr 2017 09:04
2.2.6 30 Mar 2017 09:03
2.2.5 17 Mar 2017 18:03
2.2.4 16 Mar 2017 20:03
2.2.3 13 Mar 2017 08:03
2.2.2 08 Mar 2017 12:03
2.2.1 02 Mar 2017 08:03
2.2.0 01 Mar 2017 08:03
2.1.2 13 Feb 2017 10:02
2.1.1 30 Jan 2017 22:01
2.1.0 15 Jan 2017 21:01
2.0.0 25 Nov 2016 23:11
1.1.3 25 Nov 2016 21:11
1.1.2 16 Nov 2016 12:11
1.1.1 10 Nov 2016 08:11
1.1.0 09 Nov 2016 21:11
1.0.0 22 Jun 2016 22:06
1.0.0-rc4 20 Jun 2016 13:06
1.0.0-rc3 15 Jun 2016 22:06
1.0.0-rc2 28 May 2016 08:05
1.0.0-rc1 24 Mar 2016 21:03
0.7.2 28 Feb 2016 10:02
0.7.0 28 Nov 2015 09:11
0.6.0 30 Sep 2015 21:09
0.4.0 25 Jun 2015 19:06
0.3.0 06 Jun 2015 08:06
0.2.7 24 Mar 2015 20:03
0.2.6 22 Mar 2015 21:03
0.2.5 15 Mar 2015 20:03
0.2.4 15 Feb 2015 10:02
0.2.3 03 Feb 2015 19:02
0.2.2 02 Feb 2015 09:02
0.2.1 23 Jan 2015 16:01
0.2.0 23 Jan 2015 08:01
0.1.10 03 Sep 2014 09:09
0.1.9 24 Aug 2014 20:08
0.1.8 14 Aug 2014 11:08
0.1.7 06 Aug 2014 08:08
0.1.6 20 Apr 2014 17:04
0.1.5 02 Feb 2014 20:02
0.1.4 08 Jan 2014 11:01
0.1.3 05 Dec 2013 20:12
0.1.2 05 Dec 2013 17:12
0.1.1 21 Nov 2013 12:11
0.1.0 07 Nov 2013 15:11
0.0.1 02 Jul 2013 18:07