bullmq 1.87.0 → 1.88.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.
- package/dist/cjs/classes/child-pool.js +1 -2
- package/dist/cjs/classes/child-pool.js.map +1 -1
- package/dist/cjs/classes/child-processor.js +13 -7
- package/dist/cjs/classes/child-processor.js.map +1 -1
- package/dist/cjs/classes/compat.d.ts +7 -7
- package/dist/cjs/classes/flow-producer.d.ts +7 -7
- package/dist/cjs/classes/flow-producer.js +2 -2
- package/dist/cjs/classes/flow-producer.js.map +1 -1
- package/dist/cjs/classes/job.d.ts +4 -4
- package/dist/cjs/classes/job.js +2 -2
- package/dist/cjs/classes/job.js.map +1 -1
- package/dist/cjs/classes/queue-events.js +1 -1
- package/dist/cjs/classes/queue-getters.js +11 -12
- package/dist/cjs/classes/queue-getters.js.map +1 -1
- package/dist/cjs/classes/queue-scheduler.js +1 -1
- package/dist/cjs/classes/redis-connection.js +3 -4
- package/dist/cjs/classes/redis-connection.js.map +1 -1
- package/dist/cjs/classes/worker.js +1 -1
- package/dist/cjs/commands/includes/cleanList.lua +6 -2
- package/dist/cjs/commands/includes/removeJob.lua +2 -2
- package/dist/cjs/commands/includes/removeJobFromAnyState.lua +1 -1
- package/dist/cjs/commands/includes/removeParentDependencyKey.lua +5 -7
- package/dist/cjs/commands/includes/updateParentDepsIfNeeded.lua +1 -1
- package/dist/cjs/commands/removeJob-1.lua +1 -1
- package/dist/cjs/commands/retryJobs-6.lua +0 -1
- package/dist/cjs/utils.d.ts +1 -0
- package/dist/esm/classes/child-pool.js +1 -2
- package/dist/esm/classes/child-pool.js.map +1 -1
- package/dist/esm/classes/child-processor.js +13 -7
- package/dist/esm/classes/child-processor.js.map +1 -1
- package/dist/esm/classes/compat.d.ts +7 -7
- package/dist/esm/classes/flow-producer.d.ts +7 -7
- package/dist/esm/classes/flow-producer.js +2 -2
- package/dist/esm/classes/flow-producer.js.map +1 -1
- package/dist/esm/classes/job.d.ts +4 -4
- package/dist/esm/classes/job.js +2 -2
- package/dist/esm/classes/job.js.map +1 -1
- package/dist/esm/classes/queue-events.js +1 -1
- package/dist/esm/classes/queue-getters.js +11 -12
- package/dist/esm/classes/queue-getters.js.map +1 -1
- package/dist/esm/classes/queue-scheduler.js +1 -1
- package/dist/esm/classes/redis-connection.js +2 -3
- package/dist/esm/classes/redis-connection.js.map +1 -1
- package/dist/esm/classes/worker.js +1 -1
- package/dist/esm/commands/includes/cleanList.lua +6 -2
- package/dist/esm/commands/includes/removeJob.lua +2 -2
- package/dist/esm/commands/includes/removeJobFromAnyState.lua +1 -1
- package/dist/esm/commands/includes/removeParentDependencyKey.lua +5 -7
- package/dist/esm/commands/includes/updateParentDepsIfNeeded.lua +1 -1
- package/dist/esm/commands/removeJob-1.lua +1 -1
- package/dist/esm/commands/retryJobs-6.lua +0 -1
- package/dist/esm/utils.d.ts +1 -0
- package/package.json +74 -51
@@ -7,7 +7,8 @@
|
|
7
7
|
--- @include "getTimestamp"
|
8
8
|
--- @include "removeJob"
|
9
9
|
|
10
|
-
local function cleanList(listKey, jobKeyPrefix, rangeStart, rangeEnd,
|
10
|
+
local function cleanList(listKey, jobKeyPrefix, rangeStart, rangeEnd,
|
11
|
+
timestamp, isWaiting)
|
11
12
|
local jobs = rcall("LRANGE", listKey, rangeStart, rangeEnd)
|
12
13
|
local deleted = {}
|
13
14
|
local deletedCount = 0
|
@@ -20,7 +21,7 @@ local function cleanList(listKey, jobKeyPrefix, rangeStart, rangeEnd, timestamp,
|
|
20
21
|
end
|
21
22
|
|
22
23
|
local jobKey = jobKeyPrefix .. job
|
23
|
-
if (
|
24
|
+
if (isWaiting or rcall("EXISTS", jobKey .. ":lock") == 0) then
|
24
25
|
-- Find the right timestamp of the job to compare to maxTimestamp:
|
25
26
|
-- * finishedOn says when the job was completed, but it isn't set unless the job has actually completed
|
26
27
|
-- * processedOn represents when the job was last attempted, but it doesn't get populated until the job is first tried
|
@@ -32,6 +33,9 @@ local function cleanList(listKey, jobKeyPrefix, rangeStart, rangeEnd, timestamp,
|
|
32
33
|
-- occur at the end of the script
|
33
34
|
rcall("LSET", listKey, rangeEnd - jobIdsLen + i, deletionMarker)
|
34
35
|
removeJob(job, true, jobKeyPrefix)
|
36
|
+
if isWaiting then
|
37
|
+
rcall("ZREM", jobKeyPrefix .. "priority", job)
|
38
|
+
end
|
35
39
|
deletedCount = deletedCount + 1
|
36
40
|
table.insert(deleted, job)
|
37
41
|
end
|
@@ -5,8 +5,8 @@
|
|
5
5
|
-- Includes
|
6
6
|
--- @include "removeParentDependencyKey"
|
7
7
|
|
8
|
-
local function removeJob(
|
9
|
-
local jobKey = baseKey ..
|
8
|
+
local function removeJob(jobId, hard, baseKey)
|
9
|
+
local jobKey = baseKey .. jobId
|
10
10
|
removeParentDependencyKey(jobKey, hard, nil, baseKey)
|
11
11
|
rcall("DEL", jobKey, jobKey .. ':logs',
|
12
12
|
jobKey .. ':dependencies', jobKey .. ':processed')
|
@@ -5,17 +5,15 @@
|
|
5
5
|
]]
|
6
6
|
|
7
7
|
--- @include "destructureJobKey"
|
8
|
+
--- @include "getTargetQueueList"
|
8
9
|
|
9
10
|
local function moveParentToWait(parentPrefix, parentId, emitEvent)
|
10
|
-
|
11
|
-
|
12
|
-
else
|
13
|
-
rcall("RPUSH", parentPrefix .. "paused", parentId)
|
14
|
-
end
|
11
|
+
local parentTarget = getTargetQueueList(parentPrefix .. "meta", parentPrefix .. "wait", parentPrefix .. "paused")
|
12
|
+
rcall("RPUSH", parentTarget, parentId)
|
15
13
|
|
16
14
|
if emitEvent then
|
17
15
|
local parentEventStream = parentPrefix .. "events"
|
18
|
-
rcall("XADD", parentEventStream, "*", "event", "
|
16
|
+
rcall("XADD", parentEventStream, "*", "event", "waiting", "jobId", parentId, "prev", "waiting-children")
|
19
17
|
end
|
20
18
|
end
|
21
19
|
|
@@ -78,6 +76,6 @@ local function removeParentDependencyKey(jobKey, hard, parentKey, baseKey)
|
|
78
76
|
end
|
79
77
|
end
|
80
78
|
end
|
81
|
-
end
|
79
|
+
end
|
82
80
|
end
|
83
81
|
end
|
@@ -14,7 +14,7 @@ local function updateParentDepsIfNeeded(parentKey, parentQueueKey, parentDepende
|
|
14
14
|
if rcall("SCARD", parentDependenciesKey) == 0 and activeParent then
|
15
15
|
rcall("ZREM", parentQueueKey .. ":waiting-children", parentId)
|
16
16
|
local parentTarget = getTargetQueueList(parentQueueKey .. ":meta", parentQueueKey .. ":wait", parentQueueKey .. ":paused")
|
17
|
-
local priority = rcall("HGET", parentKey, "priority")
|
17
|
+
local priority = tonumber(rcall("HGET", parentKey, "priority"))
|
18
18
|
-- Standard or priority add
|
19
19
|
if priority == 0 then
|
20
20
|
rcall("RPUSH", parentTarget, parentId)
|
@@ -48,7 +48,7 @@ local function removeJob( prefix, jobId, parentKey)
|
|
48
48
|
end
|
49
49
|
|
50
50
|
local prev = removeJobFromAnyState(prefix, jobId)
|
51
|
-
|
51
|
+
|
52
52
|
rcall("ZREM", prefix .. "priority", jobId)
|
53
53
|
rcall("DEL", jobKey, jobKey .. ":logs", jobKey .. ":dependencies", jobKey .. ":processed")
|
54
54
|
|
package/dist/esm/utils.d.ts
CHANGED
package/package.json
CHANGED
@@ -1,12 +1,18 @@
|
|
1
1
|
{
|
2
2
|
"name": "bullmq",
|
3
|
-
"version": "1.
|
3
|
+
"version": "1.88.0",
|
4
4
|
"description": "Queue for messages and jobs based on Redis",
|
5
|
-
"main": "dist/cjs/index.js",
|
6
|
-
"module": "dist/esm/index.js",
|
7
|
-
"
|
8
|
-
"
|
9
|
-
"
|
5
|
+
"main": "./dist/cjs/index.js",
|
6
|
+
"module": "./dist/esm/index.js",
|
7
|
+
"types": "./dist/esm/index.d.ts",
|
8
|
+
"source": "./src/index.ts",
|
9
|
+
"exports": {
|
10
|
+
".": {
|
11
|
+
"require": "./dist/cjs/index.js",
|
12
|
+
"import": "./dist/esm/index.js",
|
13
|
+
"types": "./dist/esm/index.d.ts"
|
14
|
+
}
|
15
|
+
},
|
10
16
|
"author": "Taskforce.sh Inc.",
|
11
17
|
"license": "MIT",
|
12
18
|
"keywords": [
|
@@ -24,8 +30,7 @@
|
|
24
30
|
"clean:temp:files": "rimraf dist/cjs/bullmq.d.ts dist/esm/bullmq.d.ts dist/tsdoc-metadata.json",
|
25
31
|
"copy:lua": "copyfiles -f ./src/commands/*.lua ./dist/cjs/commands && copyfiles -f ./src/commands/*.lua ./dist/esm/commands",
|
26
32
|
"copy:includes:lua": "copyfiles -f ./src/commands/includes/*.lua ./dist/cjs/commands/includes && copyfiles -f ./src/commands/includes/*.lua ./dist/esm/commands/includes",
|
27
|
-
"coverage": "nyc --reporter=text
|
28
|
-
"coveralls": "nyc report --reporter=text-lcov | coveralls",
|
33
|
+
"coverage": "nyc --reporter=text --reporter=lcovonly yarn test",
|
29
34
|
"cm": "git cz",
|
30
35
|
"docs": "typedoc --excludeExternals --excludeProtected --excludePrivate --readme none src/index.ts",
|
31
36
|
"dc:up": "docker-compose -f docker-compose.yml up -d",
|
@@ -34,8 +39,9 @@
|
|
34
39
|
"eslint:fix": "./node_modules/.bin/eslint . --ignore-path ./.eslintignore --fix",
|
35
40
|
"lint": "./node_modules/.bin/eslint . --ignore-path ./.eslintignore",
|
36
41
|
"lint:staged": "lint-staged",
|
37
|
-
"
|
42
|
+
"prepublishOnly": "yarn build",
|
38
43
|
"generate:raw:scripts": "ts-node --project tsconfig-cjs.json generateRawScripts.ts",
|
44
|
+
"postinstall": "husky install",
|
39
45
|
"prettier": "prettier --config package.json src/**/*.ts",
|
40
46
|
"pretty:quick": "pretty-quick --ignore-path ./.eslintignore --staged",
|
41
47
|
"semantic-release": "semantic-release",
|
@@ -46,68 +52,69 @@
|
|
46
52
|
"tsc:all": "tsc && tsc -p tsconfig-cjs.json"
|
47
53
|
},
|
48
54
|
"dependencies": {
|
49
|
-
"cron-parser": "^4.
|
50
|
-
"get-port": "
|
51
|
-
"glob": "^
|
52
|
-
"ioredis": "^
|
55
|
+
"cron-parser": "^4.6.0",
|
56
|
+
"get-port": "6.1.2",
|
57
|
+
"glob": "^8.0.3",
|
58
|
+
"ioredis": "^5.2.2",
|
53
59
|
"lodash": "^4.17.21",
|
54
|
-
"msgpackr": "^1.
|
60
|
+
"msgpackr": "^1.6.2",
|
55
61
|
"semver": "^7.3.7",
|
56
|
-
"tslib": "^
|
62
|
+
"tslib": "^2.0.0",
|
57
63
|
"uuid": "^8.3.2"
|
58
64
|
},
|
59
65
|
"devDependencies": {
|
60
|
-
"@commitlint/cli": "^
|
61
|
-
"@commitlint/config-conventional": "^
|
66
|
+
"@commitlint/cli": "^17.0.3",
|
67
|
+
"@commitlint/config-conventional": "^17.0.3",
|
62
68
|
"@istanbuljs/nyc-config-typescript": "^0.1.3",
|
63
|
-
"@semantic-release/changelog": "^6.0.
|
69
|
+
"@semantic-release/changelog": "^6.0.1",
|
64
70
|
"@semantic-release/commit-analyzer": "^9.0.2",
|
65
71
|
"@semantic-release/git": "^10.0.1",
|
66
|
-
"@semantic-release/github": "^8.0.
|
67
|
-
"@semantic-release/npm": "^
|
72
|
+
"@semantic-release/github": "^8.0.5",
|
73
|
+
"@semantic-release/npm": "^9.0.1",
|
68
74
|
"@semantic-release/release-notes-generator": "^10.0.3",
|
69
|
-
"@types/chai": "^4.
|
70
|
-
"@types/chai-as-promised": "^7.1.
|
75
|
+
"@types/chai": "^4.3.1",
|
76
|
+
"@types/chai-as-promised": "^7.1.5",
|
71
77
|
"@types/glob": "^7.2.0",
|
72
78
|
"@types/ioredis": "^4.28.2",
|
73
|
-
"@types/lodash": "^4.
|
79
|
+
"@types/lodash.defaults": "^4.2.7",
|
80
|
+
"@types/lodash.isarguments": "^3.1.7",
|
74
81
|
"@types/mocha": "^5.2.7",
|
75
82
|
"@types/msgpack": "^0.0.31",
|
76
83
|
"@types/node": "^12.20.25",
|
77
84
|
"@types/semver": "^7.3.9",
|
78
85
|
"@types/sinon": "^7.5.2",
|
79
86
|
"@types/uuid": "^3.4.10",
|
80
|
-
"@typescript-eslint/eslint-plugin": "
|
81
|
-
"@typescript-eslint/parser": "
|
87
|
+
"@typescript-eslint/eslint-plugin": "^5.33.0",
|
88
|
+
"@typescript-eslint/parser": "^5.33.0",
|
82
89
|
"chai": "^4.3.4",
|
83
90
|
"chai-as-promised": "^7.1.1",
|
84
|
-
"commitizen": "^4.2.
|
91
|
+
"commitizen": "^4.2.5",
|
85
92
|
"copyfiles": "^2.4.1",
|
86
93
|
"coveralls": "^3.1.1",
|
87
|
-
"eslint": "
|
88
|
-
"eslint-config-prettier": "
|
89
|
-
"eslint-plugin-mocha": "^
|
90
|
-
"eslint-plugin-prettier": "
|
91
|
-
"eslint-plugin-promise": "
|
92
|
-
"eslint-plugin-tsdoc": "^0.2.
|
93
|
-
"husky": "^
|
94
|
+
"eslint": "^8.22.0",
|
95
|
+
"eslint-config-prettier": "^8.5.0",
|
96
|
+
"eslint-plugin-mocha": "^10.1.0",
|
97
|
+
"eslint-plugin-prettier": "4.2.1",
|
98
|
+
"eslint-plugin-promise": "6.0.0",
|
99
|
+
"eslint-plugin-tsdoc": "^0.2.16",
|
100
|
+
"husky": "^8.0.1",
|
94
101
|
"istanbul": "^0.4.5",
|
95
|
-
"lint-staged": "
|
96
|
-
"mocha": "^
|
102
|
+
"lint-staged": "13.0.3",
|
103
|
+
"mocha": "^10.0.0",
|
97
104
|
"mocha-lcov-reporter": "^1.3.0",
|
98
|
-
"moment": "^2.29.
|
105
|
+
"moment": "^2.29.4",
|
99
106
|
"npm-run-all": "^4.1.5",
|
100
|
-
"nyc": "^
|
101
|
-
"prettier": "^2.
|
102
|
-
"pretty-quick": "^3.1.
|
107
|
+
"nyc": "^15.1.0",
|
108
|
+
"prettier": "^2.7.1",
|
109
|
+
"pretty-quick": "^3.1.3",
|
103
110
|
"rimraf": "^3.0.2",
|
104
|
-
"semantic-release": "^
|
105
|
-
"sinon": "^
|
111
|
+
"semantic-release": "^19.0.3",
|
112
|
+
"sinon": "^14.0.0",
|
106
113
|
"test-console": "^2.0.0",
|
107
|
-
"ts-mocha": "^
|
114
|
+
"ts-mocha": "^10.0.0",
|
108
115
|
"ts-node": "^10.7.0",
|
109
|
-
"typedoc": "^0.
|
110
|
-
"typescript": "^4.
|
116
|
+
"typedoc": "^0.23.0",
|
117
|
+
"typescript": "^4.7.4"
|
111
118
|
},
|
112
119
|
"nyc": {
|
113
120
|
"extends": "@istanbuljs/nyc-config-typescript",
|
@@ -118,7 +125,29 @@
|
|
118
125
|
],
|
119
126
|
"exclude": [
|
120
127
|
"bullmq-tests/test_*.ts"
|
121
|
-
]
|
128
|
+
],
|
129
|
+
"lines": 80,
|
130
|
+
"functions": 80,
|
131
|
+
"branches": 70,
|
132
|
+
"statements": 80,
|
133
|
+
"watermarks": {
|
134
|
+
"lines": [
|
135
|
+
80,
|
136
|
+
95
|
137
|
+
],
|
138
|
+
"functions": [
|
139
|
+
80,
|
140
|
+
95
|
141
|
+
],
|
142
|
+
"branches": [
|
143
|
+
80,
|
144
|
+
95
|
145
|
+
],
|
146
|
+
"statements": [
|
147
|
+
80,
|
148
|
+
95
|
149
|
+
]
|
150
|
+
}
|
122
151
|
},
|
123
152
|
"config": {
|
124
153
|
"commitizen": {
|
@@ -133,12 +162,6 @@
|
|
133
162
|
"lint-staged": {
|
134
163
|
"*.{js,ts}": "yarn eslint:fix"
|
135
164
|
},
|
136
|
-
"husky": {
|
137
|
-
"hooks": {
|
138
|
-
"commit-msg": "commitlint -E HUSKY_GIT_PARAMS",
|
139
|
-
"pre-commit": "npm-run-all pretty:quick lint:staged"
|
140
|
-
}
|
141
|
-
},
|
142
165
|
"repository": {
|
143
166
|
"type": "git",
|
144
167
|
"url": "https://github.com/taskforcesh/bullmq.git"
|