bullmq 1.54.3 → 1.55.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/README.md +1 -1
  2. package/dist/classes/backoffs.js.map +1 -1
  3. package/dist/classes/child-pool.d.ts +2 -0
  4. package/dist/classes/child-pool.js +20 -20
  5. package/dist/classes/child-pool.js.map +1 -1
  6. package/dist/classes/child-processor.d.ts +24 -0
  7. package/dist/classes/child-processor.js +169 -0
  8. package/dist/classes/child-processor.js.map +1 -0
  9. package/dist/classes/flow-producer.d.ts +2 -2
  10. package/dist/classes/flow-producer.js.map +1 -1
  11. package/dist/classes/job.d.ts +5 -2
  12. package/dist/classes/job.js +4 -0
  13. package/dist/classes/job.js.map +1 -1
  14. package/dist/classes/master.js +22 -159
  15. package/dist/classes/master.js.map +1 -1
  16. package/dist/classes/queue-base.d.ts +2 -2
  17. package/dist/classes/queue-base.js.map +1 -1
  18. package/dist/classes/queue-events.js.map +1 -1
  19. package/dist/classes/queue-scheduler.js.map +1 -1
  20. package/dist/classes/redis-connection.d.ts +1 -4
  21. package/dist/classes/redis-connection.js +1 -4
  22. package/dist/classes/redis-connection.js.map +1 -1
  23. package/dist/classes/sandbox.d.ts +2 -1
  24. package/dist/classes/sandbox.js +10 -8
  25. package/dist/classes/sandbox.js.map +1 -1
  26. package/dist/classes/scripts.d.ts +3 -4
  27. package/dist/classes/scripts.js.map +1 -1
  28. package/dist/classes/worker.d.ts +3 -2
  29. package/dist/classes/worker.js +13 -13
  30. package/dist/classes/worker.js.map +1 -1
  31. package/dist/commands/addJob-9.lua +3 -3
  32. package/dist/commands/index.d.ts +4 -3
  33. package/dist/commands/index.js +8 -72
  34. package/dist/commands/index.js.map +1 -1
  35. package/dist/commands/moveStalledJobsToWait-8.lua +2 -2
  36. package/dist/commands/moveToFinished-8.lua +7 -7
  37. package/dist/commands/removeJob-1.lua +3 -3
  38. package/dist/commands/script-loader.d.ts +124 -0
  39. package/dist/commands/script-loader.js +413 -0
  40. package/dist/commands/script-loader.js.map +1 -0
  41. package/dist/interfaces/child-command.d.ts +5 -0
  42. package/dist/interfaces/child-command.js +10 -0
  43. package/dist/interfaces/child-command.js.map +1 -0
  44. package/dist/interfaces/child-message.d.ts +6 -0
  45. package/dist/interfaces/child-message.js +3 -0
  46. package/dist/interfaces/child-message.js.map +1 -0
  47. package/dist/interfaces/index.d.ts +7 -0
  48. package/dist/interfaces/index.js +7 -0
  49. package/dist/interfaces/index.js.map +1 -1
  50. package/dist/interfaces/jobs-options.d.ts +2 -0
  51. package/dist/interfaces/parent-command.d.ts +9 -0
  52. package/dist/interfaces/parent-command.js +14 -0
  53. package/dist/interfaces/parent-command.js.map +1 -0
  54. package/dist/interfaces/parent-message.d.ts +8 -0
  55. package/dist/interfaces/parent-message.js +3 -0
  56. package/dist/interfaces/parent-message.js.map +1 -0
  57. package/dist/utils.d.ts +6 -6
  58. package/dist/utils.js +25 -1
  59. package/dist/utils.js.map +1 -1
  60. package/package.json +16 -14
@@ -1 +1 @@
1
- {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/classes/worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/classes/worker.ts"],"names":[],"mappings":"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"}
@@ -61,8 +61,8 @@ end
61
61
  local jobCounter = rcall("INCR", KEYS[4])
62
62
 
63
63
  -- Includes
64
- <%= updateParentDepsIfNeeded %>
65
- <%= destructureJobKey %>
64
+ --- @include "includes/updateParentDepsIfNeeded"
65
+ --- @include "includes/destructureJobKey"
66
66
 
67
67
  local parentDependenciesKey = args[7]
68
68
  if args[2] == "" then
@@ -85,7 +85,7 @@ else
85
85
  end
86
86
  rcall("HMSET", jobIdKey, "parentKey", parentKey)
87
87
  end
88
- return jobId .. "" -- convert to string
88
+ return jobId .. "" -- convert to string
89
89
  end
90
90
  end
91
91
 
@@ -1,3 +1,4 @@
1
- import { RedisClient } from '../classes';
2
- export declare const load: (client: RedisClient, pathname: string, extraIncludes?: Record<string, string>) => Promise<void>;
3
- export declare const loadIncludes: (dir: string, extraIncludes?: Record<string, string>) => Promise<Record<string, string>>;
1
+ import { ScriptLoader } from './script-loader';
2
+ export { ScriptMetadata, Command, ScriptLoaderError } from './script-loader';
3
+ declare const scriptLoader: ScriptLoader;
4
+ export { ScriptLoader, scriptLoader };
@@ -1,74 +1,10 @@
1
- /**
2
- * Load redis lua scripts.
3
- * The name of the script must have the following format:
4
- *
5
- * cmdName-numKeys.lua
6
- *
7
- * cmdName must be in camel case format.
8
- *
9
- * For example:
10
- * moveToFinish-3.lua
11
- *
12
- */
13
- 'use strict';
1
+ "use strict";
14
2
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.loadIncludes = exports.load = void 0;
16
- const lodash_1 = require("lodash");
17
- const path = require("path");
18
- const fs = require("fs");
19
- const util = require("util");
20
- const readdir = util.promisify(fs.readdir);
21
- const readFile = util.promisify(fs.readFile);
22
- const exists = util.promisify(fs.exists);
23
- exports.load = async function (client, pathname, extraIncludes) {
24
- const scripts = await loadScripts(pathname, extraIncludes);
25
- scripts.forEach((command) => {
26
- // Only define the command if not already defined
27
- if (!client[command.name]) {
28
- client.defineCommand(command.name, command.options);
29
- }
30
- });
31
- };
32
- async function loadScripts(dir, extraIncludes) {
33
- const files = await readdir(dir);
34
- const includes = await exports.loadIncludes(dir, extraIncludes);
35
- const luaFiles = files.filter((file) => path.extname(file) === '.lua');
36
- if (luaFiles.length === 0) {
37
- /**
38
- * To prevent unclarified runtime error "updateDelayset is not a function
39
- * @see https://github.com/OptimalBits/bull/issues/920
40
- */
41
- throw new Error('No .lua files found!');
42
- }
43
- const commands = [];
44
- for (let i = 0; i < luaFiles.length; i++) {
45
- const file = luaFiles[i];
46
- if (path.extname(file) === '.lua') {
47
- const longName = path.basename(file, '.lua');
48
- const name = longName.split('-')[0];
49
- const numberOfKeys = parseInt(longName.split('-')[1]);
50
- const lua = (await readFile(path.join(dir, file))).toString();
51
- const compiled = lodash_1.template(lua);
52
- commands.push({
53
- name,
54
- options: { numberOfKeys, lua: compiled(includes) },
55
- });
56
- }
57
- }
58
- return commands;
59
- }
60
- exports.loadIncludes = async function (dir, extraIncludes) {
61
- const includes = extraIncludes || {};
62
- const includesDir = path.join(dir, 'includes');
63
- if (await exists(includesDir)) {
64
- const includesFiles = await readdir(includesDir);
65
- for (let i = 0; i < includesFiles.length; i++) {
66
- const file = includesFiles[i];
67
- const lua = await readFile(path.join(includesDir, file));
68
- const name = path.basename(file, '.lua');
69
- includes[name] = lua.toString();
70
- }
71
- }
72
- return includes;
73
- };
3
+ exports.scriptLoader = exports.ScriptLoader = void 0;
4
+ const script_loader_1 = require("./script-loader");
5
+ Object.defineProperty(exports, "ScriptLoader", { enumerable: true, get: function () { return script_loader_1.ScriptLoader; } });
6
+ var script_loader_2 = require("./script-loader");
7
+ Object.defineProperty(exports, "ScriptLoaderError", { enumerable: true, get: function () { return script_loader_2.ScriptLoaderError; } });
8
+ const scriptLoader = new script_loader_1.ScriptLoader();
9
+ exports.scriptLoader = scriptLoader;
74
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,YAAY,CAAC;;;AACb,mCAAkC;AAGlC,6BAA6B;AAC7B,yBAAyB;AACzB,6BAA6B;AAE7B,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;AAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;AAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;AAU5B,QAAA,IAAI,GAAG,KAAK,WACvB,MAAmB,EACnB,QAAgB,EAChB,aAAsC;IAEtC,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IAE3D,OAAO,CAAC,OAAO,CAAC,CAAC,OAAgB,EAAE,EAAE;QACnC,iDAAiD;QACjD,IAAI,CAAE,MAAc,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAClC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;SACrD;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,KAAK,UAAU,WAAW,CACxB,GAAW,EACX,aAAsC;IAEtC,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;IAEjC,MAAM,QAAQ,GAAG,MAAM,oBAAY,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IAExD,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAC3B,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,MAAM,CAChD,CAAC;IAEF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;QACzB;;;WAGG;QACH,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;KACzC;IAED,MAAM,QAAQ,GAAG,EAAE,CAAC;IAEpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACxC,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,MAAM,EAAE;YACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC7C,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACpC,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAEtD,MAAM,GAAG,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC9D,MAAM,QAAQ,GAAG,iBAAQ,CAAC,GAAG,CAAC,CAAC;YAE/B,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI;gBACJ,OAAO,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE;aACnD,CAAC,CAAC;SACJ;KACF;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAEY,QAAA,YAAY,GAAG,KAAK,WAC/B,GAAW,EACX,aAAsC;IAEtC,MAAM,QAAQ,GAAG,aAAa,IAAI,EAAE,CAAC;IACrC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAE/C,IAAI,MAAM,MAAM,CAAC,WAAW,CAAC,EAAE;QAC7B,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,CAAC;QAEjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC7C,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;YACzD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACzC,QAAQ,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;SACjC;KACF;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":";;;AAAA,mDAA+C;AAKtC,6FALA,4BAAY,OAKA;AAJrB,iDAA6E;AAA3C,kHAAA,iBAAiB,OAAA;AAEnD,MAAM,YAAY,GAAG,IAAI,4BAAY,EAAE,CAAC;AAEjB,oCAAY"}
@@ -75,8 +75,8 @@ if (#stalling > 0) then
75
75
  if (stalledCount > MAX_STALLED_JOB_COUNT) then
76
76
  local failedReason = "job stalled more than allowable limit"
77
77
  rcall("ZADD", KEYS[4], ARGV[3], jobId)
78
- rcall("HSET", jobKey, "failedReason",
79
- failedReason)
78
+ rcall("HMSET", jobKey, "failedReason",
79
+ failedReason, "finishedOn", ARGV[3])
80
80
  rcall("XADD", KEYS[8], "*", "event", "failed", "jobId",
81
81
  jobId, 'prev', 'active', 'failedReason',
82
82
  failedReason)
@@ -42,8 +42,8 @@
42
42
  local rcall = redis.call
43
43
 
44
44
  -- Includes
45
- <%= updateParentDepsIfNeeded %>
46
- <%= destructureJobKey %>
45
+ --- @include "includes/updateParentDepsIfNeeded"
46
+ --- @include "includes/destructureJobKey"
47
47
 
48
48
  local jobIdKey = KEYS[3]
49
49
  if rcall("EXISTS",jobIdKey) == 1 then -- // Make sure job exists
@@ -70,8 +70,8 @@ if rcall("EXISTS",jobIdKey) == 1 then -- // Make sure job exists
70
70
  if(numRemovedElements < 1) then
71
71
  return -3
72
72
  end
73
-
74
- -- If job has a parent we need to
73
+
74
+ -- If job has a parent we need to
75
75
  -- 1) remove this job id from parents dependencies
76
76
  -- 2) move the job Id to parent "processed" set
77
77
  -- 3) push the results into parent "results" list
@@ -83,15 +83,15 @@ if rcall("EXISTS",jobIdKey) == 1 then -- // Make sure job exists
83
83
  parentId = getJobIdFromKey(ARGV[14])
84
84
  parentQueueKey = getJobKeyPrefix(ARGV[14], ":" .. parentId)
85
85
  end
86
- if parentId ~= "" and ARGV[5] == "completed" then
86
+ if parentId ~= "" and ARGV[5] == "completed" then
87
87
  local parentKey = parentQueueKey .. ":" .. parentId
88
88
  local dependenciesSet = parentKey .. ":dependencies"
89
89
  local result = rcall("SREM", dependenciesSet, jobIdKey)
90
- if result == 1 then
90
+ if result == 1 then
91
91
  updateParentDepsIfNeeded(parentKey, parentQueueKey, dependenciesSet, parentId, jobIdKey, ARGV[4])
92
92
  end
93
93
  end
94
-
94
+
95
95
  -- Remove job?
96
96
  local removeJobs = tonumber(ARGV[6])
97
97
  if removeJobs ~= 1 then
@@ -13,7 +13,7 @@
13
13
  local rcall = redis.call
14
14
 
15
15
  -- Includes
16
- <%= destructureJobKey %>
16
+ --- @include "includes/destructureJobKey"
17
17
 
18
18
  -- recursively check if there are no locks on the
19
19
  -- jobs to be removed.
@@ -45,13 +45,13 @@ local function removeJob( prefix, jobId)
45
45
  local jobKey = prefix .. jobId;
46
46
 
47
47
  -- Check if this job has a parent. If so we will just remove it from
48
- -- the parent child list, but if it is the last child we should move the parent to "wait/paused"
48
+ -- the parent child list, but if it is the last child we should move the parent to "wait/paused"
49
49
  -- which requires code from "moveToFinished"
50
50
  local parentKey = rcall("HGET", jobKey, "parentKey")
51
51
  if( (type(parentKey) == "string") and parentKey ~= "" and (rcall("EXISTS", parentKey) == 1)) then
52
52
  local parentDependenciesKey = parentKey .. ":dependencies"
53
53
  local result = rcall("SREM", parentDependenciesKey, jobKey)
54
- if rcall("SCARD", parentDependenciesKey) == 0 then
54
+ if rcall("SCARD", parentDependenciesKey) == 0 then
55
55
  local parentId = getJobIdFromKey(parentKey)
56
56
  local parentPrefix = getJobKeyPrefix(parentKey, parentId)
57
57
 
@@ -0,0 +1,124 @@
1
+ import { RedisClient } from '../interfaces';
2
+ export interface Command {
3
+ name: string;
4
+ options: {
5
+ numberOfKeys: number;
6
+ lua: string;
7
+ };
8
+ }
9
+ /**
10
+ * Script metadata
11
+ */
12
+ export interface ScriptMetadata {
13
+ /**
14
+ * Name of the script
15
+ */
16
+ name: string;
17
+ numberOfKeys?: number;
18
+ /**
19
+ * The path to the script. For includes, this is the normalized path,
20
+ * whereas it may not be normalized for the top-level parent
21
+ */
22
+ path: string;
23
+ /**
24
+ * The raw script content
25
+ */
26
+ content: string;
27
+ /**
28
+ * A hash of the normalized path for easy replacement in the parent
29
+ */
30
+ token: string;
31
+ /**
32
+ * Metadata on the scripts that this script includes
33
+ */
34
+ includes: ScriptMetadata[];
35
+ }
36
+ export declare class ScriptLoaderError extends Error {
37
+ readonly path: string;
38
+ /**
39
+ * The include stack
40
+ */
41
+ readonly includes: string[];
42
+ readonly line: number;
43
+ readonly position: number;
44
+ constructor(message: string, path: string, stack?: string[], line?: number, position?: number);
45
+ }
46
+ /**
47
+ * Lua script loader with include support
48
+ */
49
+ export declare class ScriptLoader {
50
+ /**
51
+ * Map an alias to a path
52
+ */
53
+ private pathMapper;
54
+ private clientScripts;
55
+ /**
56
+ * Cache commands by dir
57
+ */
58
+ private commandCache;
59
+ private _rootPath;
60
+ private initMapping;
61
+ /**
62
+ * Add a script path mapping. Allows includes of the form "<includes>/utils.lua" where `includes` is a user
63
+ * defined path
64
+ * @param name - the name of the mapping. Note: do not include angle brackets
65
+ * @param mappedPath - if a relative path is passed, it's relative to the *caller* of this function.
66
+ * Mapped paths are also accepted, e.g. "~/server/scripts/lua" or "<base>/includes"
67
+ */
68
+ addPathMapping(name: string, mappedPath: string): void;
69
+ /**
70
+ * Path to the project root (directory containing package.json)
71
+ */
72
+ get rootPath(): string;
73
+ /**
74
+ * Resolve the script path considering path mappings
75
+ * @param scriptName - the name of the script
76
+ * @param stack - the include stack, for nicer errors
77
+ */
78
+ resolvePath(scriptName: string, stack?: string[]): string;
79
+ /**
80
+ * Recursively collect all scripts included in a file
81
+ * @param file - the parent file
82
+ * @param cache - a cache for file metadata to increase efficiency. Since a file can be included
83
+ * multiple times, we make sure to load it only once.
84
+ * @param stack - internal stack to prevent circular references
85
+ */
86
+ private resolveDependencies;
87
+ /**
88
+ * Parse a (top-level) lua script
89
+ * @param filename - the full path to the script
90
+ * @param content - the content of the script
91
+ * @param cache - cache
92
+ */
93
+ parseScript(filename: string, content: string, cache?: Map<string, ScriptMetadata>): Promise<ScriptMetadata>;
94
+ /**
95
+ * Construct the final version of a file by interpolating its includes in dependency order.
96
+ * @param file - the file whose content we want to construct
97
+ * @param processed - a cache to keep track of which includes have already been processed
98
+ */
99
+ interpolate(file: ScriptMetadata, processed?: Set<string>): string;
100
+ loadCommand(filename: string, cache?: Map<string, ScriptMetadata>): Promise<Command>;
101
+ /**
102
+ * Load redis lua scripts.
103
+ * The name of the script must have the following format:
104
+ *
105
+ * cmdName-numKeys.lua
106
+ *
107
+ * cmdName must be in camel case format.
108
+ *
109
+ * For example:
110
+ * moveToFinish-3.lua
111
+ *
112
+ */
113
+ loadScripts(dir?: string, cache?: Map<string, ScriptMetadata>): Promise<Command[]>;
114
+ /**
115
+ * Attach all lua scripts in a given directory to a client instance
116
+ * @param client - redis client to attach script to
117
+ * @param pathname - the path to the directory containing the scripts
118
+ */
119
+ load(client: RedisClient, pathname: string): Promise<void>;
120
+ /**
121
+ * Clears the command cache
122
+ */
123
+ clearCache(): void;
124
+ }