Commit Graph

877 Commits

Author SHA1 Message Date
Rogger Valverde 8c3bf1f8a4 refactor: add commandTransform utility (#2736) 2024-05-13 18:48:27 -06:00
Rogger Valverde 7ee8f7430a perf(scripts): remove token after moving to wait or delayed (#2731) 2024-05-10 07:51:07 -06:00
Rogger Valverde 6d84156966 fix(job): validate jobKey in updateProgress and update (#2730) 2024-05-10 07:50:52 -06:00
Shinigami92 e94f568085 fix: pass redis string as opts into queue 2023-11-11 13:06:11 +01:00
Manuel Astudillo ccb6cc7ecc fix: catch pause errors when closing 2023-10-14 12:08:54 +02:00
Manuel Astudillo 5910f44b03 fix(worker): better client name support 2023-08-09 00:11:33 +02:00
batrudinych 35f1da3cf6 fix(queue): deep clone opts (#2634) fixes #2633 2023-08-08 10:55:05 +02:00
Gady Piazza 4ce36febe3 fix: remove deprecated debuglog 2023-07-12 23:43:40 +02:00
abdeljalil09 dcca1e8c39 fix(worker): high-memory-usage-when-providing-float-to-concurrency (#2620) 2023-07-06 16:21:06 +02:00
Manuel Astudillo 5b4bc0b4ef test(retry): fix retry test error 2023-02-09 12:23:09 +01:00
Manuel Astudillo 9f945d60c6 fix(retry): handle pause queue status 2023-02-09 12:23:09 +01:00
Hendrik Morée 8a0292a574 fix: don't reschedule delay timer if closing (#2535) 2023-02-03 10:22:40 +01:00
andrewvasilchuk 8ad90fb0d1 chore: delete unused dependency
p-timeout is not used anymore, since it was extracted into
a separate file
2022-11-28 09:59:19 +01:00
andrewvasilchuk f9081dd01f refactor: use TypeError when invalid options are passed 2022-11-28 09:54:14 +01:00
Andrew 8a742c1176 fix(queue): throw error when needed instead of hiding it in a closure 2022-11-24 14:47:37 +01:00
Elliot 75e6775fc3 feat: support .cjs files 2022-09-05 13:15:16 +02:00
Harry Yu 3331188bce perf(clean): use ZRANGEBYSCORE to improve performance (#2363) 2022-07-27 17:21:32 +02:00
Manuel Astudillo b9ea7f4780 fix(worker): better disconnect when blocking connection 2022-06-16 16:59:00 +08:00
Patrick Lussan 2f1fb6cdc1 fix(stalled-jobs): move stalled jobs to wait in batches 2022-05-12 09:35:24 +08:00
Andreas Lind 11eae6b960 fix: unlock job when moving it to delayed (#2329) 2022-04-21 15:56:59 +08:00
Eric Mc Sween ef5f471725 perf: speed up clean operation (#2326)
The clean operation on sets backed by lists (wait, active, paused)
quickly gets very slow when the list is large. This is because each job
deletion scans the whole list in a LREM call, resulting in O(N * M)
complexity where N is the number of jobs in the list and M is the number
of jobs to delete.

With this change, the deletion is done in two passes. The first pass
sets each item that should be deleted to a special value. The second
pass deletes all items with that special value in a single LREM call.
This results in O(N) complexity.
2022-03-21 09:22:49 +08:00
Andreas Lind b7058e6e8f feat: have Queue#clean consult job.{finishedOn,processedOn,timestamp} (#2309) 2022-03-19 21:12:36 +08:00
Manuel Astudillo 190d6e93bf chore: fix lint errors 2022-03-02 10:37:44 +08:00
Manuel Astudillo 886d764381 feat(metrics): add support for collecting queue metrics 2022-03-02 10:37:44 +08:00
Manuel Astudillo d3b91386e3 fix: better handling of maxRetriesPerRequest 2022-02-23 12:06:42 +08:00
Manuel Astudillo 10db479731 fix(sandbox): better error reporting broken processor file 2022-02-21 16:07:24 +08:00
Manuel Astudillo 54e5463bff feat: handle redis uri queries 2022-02-21 15:49:37 +08:00
Manuel Astudillo 232ed85d4c fix(sandbox): wait for result of sending start command 2022-02-20 12:21:15 +08:00
Manuel Astudillo 41b940457b fix(worker): better closing when disconnected 2022-02-16 18:06:43 +08:00
Manuel Astudillo 193644c5ed fix(queue): return correct workers with getWorkers() 2022-02-14 19:22:58 +08:00
Manuel Astudillo ad7b6474db fix(commands): do not wait for redis to load commands 2022-02-14 18:27:33 +08:00
Steven 8ab5b1d1c3 fix(scripts): make it easier for tools like vercel to find the .lua scripts 2022-02-14 10:37:26 +08:00
Manuel Astudillo dd0b853a51 fix(sandbox): broken processor files should fail jobs 2022-02-06 18:26:40 +08:00
rogger andré valverde flores 501b2cc49c feat(queue): add retryJobs for failed status 2022-02-01 10:40:37 +08:00
Manuel Astudillo 90f040c052 feat: add support for removeOn based on time 2022-01-26 22:14:25 +08:00
Manuel Astudillo c3b378055a chore(sandbox): disable process.exit eslint rule 2022-01-17 11:18:40 +08:00
Manuel Astudillo 43dc2e69df fix(sandbox): exit if uncaughtException 2022-01-17 11:18:40 +08:00
jfontaine-lifion 16fdbe90a0 feat(queue): enabled queues to share childPool instance (#2237) 2021-12-21 14:34:39 +08:00
Manuel Astudillo 071c51d16d fix(queue): check redisOptions is available fixes #2186 2021-12-14 13:03:50 +08:00
Veri Ferdiansyah 7e7d9cb58d fix: typo on url (#2195) 2021-12-14 13:02:34 +08:00
Peter Xu c20e469dcd perf: speed up performance of queue.clean when called with a limit (#2205) 2021-12-14 13:00:44 +08:00
Manuel Astudillo 4978a2b40e fix(emit): protect emit calls fixes #2213 2021-11-16 16:21:33 +08:00
KITAHARA SETSUNA 019d6125be chore(shim): remove shim not required on node>=10 2021-11-02 09:52:35 +08:00
manoj kumar 7247b3bb97 feat: emit event on job lock extend failure 2021-10-31 19:09:11 +08:00
Manuel Astudillo 3ade8e6727 fix: force options to guarantee correct reconnects
BREAKING CHANGE:
If redis opts are missing:
 { maxRetriesPerRequest: null,
   enableReadyCheck: false }
then a exception will be thrown.
2021-10-27 18:42:38 +08:00
Manuel Astudillo 79ce013af6 fix(name-processors): wait for all processors when closing fixes #1618 2021-10-13 13:35:47 +08:00
Dobes Vandermeer c2194fead1 chore(commands): fix comment in takeLock 2021-09-27 11:37:02 +08:00
Dobes Vandermeer 8981898f34 chore(commands): fix typo 2021-09-27 11:36:11 +08:00
Mauricio Muñoz 0ca4c6b4d5 fix(connection): fail only if redis connection does not recover 2021-09-08 10:59:03 +08:00
Manuel Astudillo 2f27faa410 fix: protect getJob with isReady, fixes #1386 2021-08-26 14:24:30 +08:00