@budibase/backend-core 3.13.11 → 3.13.13
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/index.js +11 -11
- package/dist/index.js.map +4 -4
- package/dist/package.json +2 -2
- package/dist/src/queue/constants.d.ts +2 -1
- package/dist/src/queue/constants.js +1 -0
- package/dist/src/queue/constants.js.map +1 -1
- package/dist/src/queue/inMemoryQueue.d.ts +5 -7
- package/dist/src/queue/inMemoryQueue.js +62 -18
- package/dist/src/queue/inMemoryQueue.js.map +1 -1
- package/dist/src/queue/index.d.ts +1 -0
- package/dist/src/queue/index.js +1 -0
- package/dist/src/queue/index.js.map +1 -1
- package/dist/src/queue/listeners.js +2 -0
- package/dist/src/queue/listeners.js.map +1 -1
- package/dist/src/queue/queue.d.ts +5 -4
- package/dist/src/queue/queue.js +21 -7
- package/dist/src/queue/queue.js.map +1 -1
- package/dist/src/queue/queuedProcessor.d.ts +25 -0
- package/dist/src/queue/queuedProcessor.js +104 -0
- package/dist/src/queue/queuedProcessor.js.map +1 -0
- package/dist/tests/queue/queuedProcessor.spec.d.ts +1 -0
- package/dist/tests/queue/queuedProcessor.spec.js +103 -0
- package/dist/tests/queue/queuedProcessor.spec.js.map +1 -0
- package/package.json +2 -2
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@budibase/backend-core",
|
|
3
|
-
"version": "3.13.
|
|
3
|
+
"version": "3.13.13",
|
|
4
4
|
"description": "Budibase backend core libraries used in server and worker",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/src/index.d.ts",
|
|
@@ -116,5 +116,5 @@
|
|
|
116
116
|
}
|
|
117
117
|
}
|
|
118
118
|
},
|
|
119
|
-
"gitHead": "
|
|
119
|
+
"gitHead": "12d0bfb1846c841fb2043159bfadc99b4424ae09"
|
|
120
120
|
}
|
|
@@ -4,5 +4,6 @@ export declare enum JobQueue {
|
|
|
4
4
|
AUDIT_LOG = "auditLogQueue",
|
|
5
5
|
SYSTEM_EVENT_QUEUE = "systemEventQueue",
|
|
6
6
|
APP_MIGRATION = "appMigration",
|
|
7
|
-
DOC_WRITETHROUGH_QUEUE = "docWritethroughQueue"
|
|
7
|
+
DOC_WRITETHROUGH_QUEUE = "docWritethroughQueue",
|
|
8
|
+
DEV_REVERT_PROCESSOR = "devRevertProcessorQueue"
|
|
8
9
|
}
|
|
@@ -9,5 +9,6 @@ var JobQueue;
|
|
|
9
9
|
JobQueue["SYSTEM_EVENT_QUEUE"] = "systemEventQueue";
|
|
10
10
|
JobQueue["APP_MIGRATION"] = "appMigration";
|
|
11
11
|
JobQueue["DOC_WRITETHROUGH_QUEUE"] = "docWritethroughQueue";
|
|
12
|
+
JobQueue["DEV_REVERT_PROCESSOR"] = "devRevertProcessorQueue";
|
|
12
13
|
})(JobQueue || (exports.JobQueue = JobQueue = {}));
|
|
13
14
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/queue/constants.ts"],"names":[],"mappings":";;;AAAA,IAAY,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/queue/constants.ts"],"names":[],"mappings":";;;AAAA,IAAY,QAQX;AARD,WAAY,QAAQ;IAClB,0CAA8B,CAAA;IAC9B,yCAA6B,CAAA;IAC7B,uCAA2B,CAAA;IAC3B,mDAAuC,CAAA;IACvC,0CAA8B,CAAA;IAC9B,2DAA+C,CAAA;IAC/C,4DAAgD,CAAA;AAClD,CAAC,EARW,QAAQ,wBAAR,QAAQ,QAQnB"}
|
|
@@ -1,12 +1,8 @@
|
|
|
1
1
|
import { Queue, QueueOptions, JobOptions } from "./queue";
|
|
2
2
|
import { Job, JobId, JobInformation } from "bull";
|
|
3
|
-
export interface TestQueueMessage<T = any> extends
|
|
4
|
-
id: string;
|
|
5
|
-
timestamp: number;
|
|
6
|
-
queue: Queue<T>;
|
|
7
|
-
data: any;
|
|
8
|
-
opts?: JobOptions;
|
|
3
|
+
export interface TestQueueMessage<T = any> extends Pick<Job<T>, "id" | "timestamp" | "queue" | "data" | "opts" | "discard"> {
|
|
9
4
|
manualTrigger?: boolean;
|
|
5
|
+
_isDiscarded?: boolean;
|
|
10
6
|
}
|
|
11
7
|
/**
|
|
12
8
|
* This is designed to replicate Bull (https://github.com/OptimalBits/bull) in
|
|
@@ -21,11 +17,13 @@ export declare class InMemoryQueue<T = any> implements Partial<Queue<T>> {
|
|
|
21
17
|
_queuedJobIds: Set<string>;
|
|
22
18
|
_emitter: NodeJS.EventEmitter<{
|
|
23
19
|
message: [TestQueueMessage<T>];
|
|
24
|
-
completed: [Job<T
|
|
20
|
+
completed: [Job<T>, any];
|
|
25
21
|
removed: [TestQueueMessage<T>];
|
|
22
|
+
error: [Job<T>, Error];
|
|
26
23
|
}>;
|
|
27
24
|
_runCount: number;
|
|
28
25
|
_addCount: number;
|
|
26
|
+
_attempts: number;
|
|
29
27
|
/**
|
|
30
28
|
* The constructor the queue, exactly the same as that of Bulls.
|
|
31
29
|
* @param name The name of the queue which is being configured.
|
|
@@ -58,6 +58,7 @@ class InMemoryQueue {
|
|
|
58
58
|
* case when in memory, but is the same API as Bull
|
|
59
59
|
*/
|
|
60
60
|
constructor(name, opts) {
|
|
61
|
+
var _a;
|
|
61
62
|
this._name = name;
|
|
62
63
|
this._opts = opts;
|
|
63
64
|
this._messages = [];
|
|
@@ -65,6 +66,7 @@ class InMemoryQueue {
|
|
|
65
66
|
this._runCount = 0;
|
|
66
67
|
this._addCount = 0;
|
|
67
68
|
this._queuedJobIds = new Set();
|
|
69
|
+
this._attempts = ((_a = opts === null || opts === void 0 ? void 0 : opts.defaultJobOptions) === null || _a === void 0 ? void 0 : _a.attempts) || 1;
|
|
68
70
|
}
|
|
69
71
|
/**
|
|
70
72
|
* Same callback API as Bull, each callback passed to this will consume messages as they are
|
|
@@ -84,17 +86,34 @@ class InMemoryQueue {
|
|
|
84
86
|
if (!message.manualTrigger && ((_a = message.opts) === null || _a === void 0 ? void 0 : _a.repeat) != null) {
|
|
85
87
|
return;
|
|
86
88
|
}
|
|
87
|
-
|
|
89
|
+
function execute() {
|
|
90
|
+
if (func.length === 1) {
|
|
91
|
+
// Simulating bull, if there is not a "done" callback, execution will resolve then the function is processed
|
|
92
|
+
return func(message);
|
|
93
|
+
}
|
|
94
|
+
return new Promise((resolve, reject) => {
|
|
95
|
+
const done = (err, result) => {
|
|
96
|
+
if (err) {
|
|
97
|
+
reject(err);
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
resolve(result);
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
func(message, done);
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
const maxAttempts = this._attempts;
|
|
88
107
|
function retryFunc(fnc_1) {
|
|
89
108
|
return __awaiter(this, arguments, void 0, function* (fnc, attempt = 0) {
|
|
90
109
|
try {
|
|
91
|
-
yield fnc;
|
|
110
|
+
return yield fnc;
|
|
92
111
|
}
|
|
93
112
|
catch (e) {
|
|
94
113
|
attempt++;
|
|
95
|
-
if (attempt <
|
|
114
|
+
if (attempt < maxAttempts && !message._isDiscarded) {
|
|
96
115
|
yield shared_core_1.helpers.wait(100 * attempt);
|
|
97
|
-
yield retryFunc(
|
|
116
|
+
return yield retryFunc(execute(), attempt);
|
|
98
117
|
}
|
|
99
118
|
else {
|
|
100
119
|
throw e;
|
|
@@ -102,19 +121,18 @@ class InMemoryQueue {
|
|
|
102
121
|
}
|
|
103
122
|
});
|
|
104
123
|
}
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
throw "Failed deleting a processed message";
|
|
112
|
-
}
|
|
113
|
-
this._messages.splice(indexToRemove, 1);
|
|
114
|
-
}
|
|
115
|
-
catch (e) {
|
|
116
|
-
console.error(e);
|
|
124
|
+
try {
|
|
125
|
+
const result = yield retryFunc(execute());
|
|
126
|
+
this._emitter.emit("completed", message, result);
|
|
127
|
+
const indexToRemove = this._messages.indexOf(message);
|
|
128
|
+
if (indexToRemove === -1) {
|
|
129
|
+
throw "Failed deleting a processed message";
|
|
117
130
|
}
|
|
131
|
+
this._messages.splice(indexToRemove, 1);
|
|
132
|
+
}
|
|
133
|
+
catch (e) {
|
|
134
|
+
console.error(e);
|
|
135
|
+
this._emitter.emit("error", message, e);
|
|
118
136
|
}
|
|
119
137
|
this._runCount++;
|
|
120
138
|
const jobId = (_c = (_b = message.opts) === null || _b === void 0 ? void 0 : _b.jobId) === null || _c === void 0 ? void 0 : _c.toString();
|
|
@@ -155,13 +173,17 @@ class InMemoryQueue {
|
|
|
155
173
|
if (jobId) {
|
|
156
174
|
this._queuedJobIds.add(jobId);
|
|
157
175
|
}
|
|
176
|
+
const messageId = (0, utils_1.newid)();
|
|
158
177
|
const pushMessage = () => {
|
|
159
178
|
const message = {
|
|
160
|
-
id:
|
|
179
|
+
id: messageId,
|
|
161
180
|
timestamp: Date.now(),
|
|
162
181
|
queue: this,
|
|
163
182
|
data,
|
|
164
183
|
opts,
|
|
184
|
+
discard: () => __awaiter(this, void 0, void 0, function* () {
|
|
185
|
+
message._isDiscarded = true;
|
|
186
|
+
}),
|
|
165
187
|
};
|
|
166
188
|
this._messages.push(message);
|
|
167
189
|
if (this._messages.length > 1000) {
|
|
@@ -177,7 +199,29 @@ class InMemoryQueue {
|
|
|
177
199
|
else {
|
|
178
200
|
pushMessage();
|
|
179
201
|
}
|
|
180
|
-
return {
|
|
202
|
+
return {
|
|
203
|
+
id: jobId,
|
|
204
|
+
finished: () => new Promise((resolve, reject) => {
|
|
205
|
+
const errorHandler = (job, error) => {
|
|
206
|
+
if (job.id !== messageId) {
|
|
207
|
+
return;
|
|
208
|
+
}
|
|
209
|
+
this._emitter.off("error", errorHandler);
|
|
210
|
+
this._emitter.off("completed", completedHandler);
|
|
211
|
+
reject(error);
|
|
212
|
+
};
|
|
213
|
+
const completedHandler = (job, result) => {
|
|
214
|
+
if (job.id !== messageId) {
|
|
215
|
+
return;
|
|
216
|
+
}
|
|
217
|
+
this._emitter.off("error", errorHandler);
|
|
218
|
+
this._emitter.off("completed", completedHandler);
|
|
219
|
+
resolve(result);
|
|
220
|
+
};
|
|
221
|
+
this._emitter.on("error", errorHandler);
|
|
222
|
+
this._emitter.on("completed", completedHandler);
|
|
223
|
+
}),
|
|
224
|
+
};
|
|
181
225
|
});
|
|
182
226
|
}
|
|
183
227
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inMemoryQueue.js","sourceRoot":"","sources":["../../../src/queue/inMemoryQueue.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,oDAA2B;AAC3B,oCAAyC;AAEzC,uDAA+C;AAG/C,SAAS,mBAAmB,CAAC,GAAQ;;IACnC,IAAI,IAAI,GAAG,EAAE,CAAA;IACb,IAAI,KAAK,GAAG,CAAC,CAAC,CAAA;IACd,IAAI,EAAE,GAAuB,SAAS,CAAA;IACtC,IAAI,OAAO,GAAuB,SAAS,CAAA;IAE3C,MAAM,MAAM,GAAG,MAAA,GAAG,CAAC,IAAI,0CAAE,MAAM,CAAA;IAC/B,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;QAC1E,EAAE,GAAG,MAAM,CAAC,EAAE,CAAA;QACd,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;YACrB,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;QACpB,CAAC;aAAM,CAAC;YACN,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;QACtB,CAAC;IACH,CAAC;IAED,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE;QACrB,IAAI,EAAE,EAAE;QACR,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE;QACtB,EAAE;QACF,OAAO;QACP,IAAI;QACJ,KAAK;QACL,IAAI,EAAE,CAAC;KACR,CAAA;AACH,CAAC;AAWD;;;;;GAKG;AACH,MAAa,aAAa;
|
|
1
|
+
{"version":3,"file":"inMemoryQueue.js","sourceRoot":"","sources":["../../../src/queue/inMemoryQueue.ts"],"names":[],"mappings":"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"}
|
package/dist/src/queue/index.js
CHANGED
|
@@ -17,4 +17,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
__exportStar(require("./queue"), exports);
|
|
18
18
|
__exportStar(require("./constants"), exports);
|
|
19
19
|
__exportStar(require("./inMemoryQueue"), exports);
|
|
20
|
+
__exportStar(require("./queuedProcessor"), exports);
|
|
20
21
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/queue/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAuB;AACvB,8CAA2B;AAC3B,kDAA+B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/queue/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAuB;AACvB,8CAA2B;AAC3B,kDAA+B;AAC/B,oDAAiC"}
|
|
@@ -108,6 +108,7 @@ var QueueEventType;
|
|
|
108
108
|
QueueEventType["SYSTEM_EVENT"] = "system-event";
|
|
109
109
|
QueueEventType["APP_MIGRATION"] = "app-migration";
|
|
110
110
|
QueueEventType["DOC_WRITETHROUGH"] = "doc-writethrough";
|
|
111
|
+
QueueEventType["DEV_REVERT_EVENT"] = "dev-revert-event";
|
|
111
112
|
})(QueueEventType || (QueueEventType = {}));
|
|
112
113
|
const EventTypeMap = {
|
|
113
114
|
[constants_1.JobQueue.AUTOMATION]: QueueEventType.AUTOMATION_EVENT,
|
|
@@ -116,6 +117,7 @@ const EventTypeMap = {
|
|
|
116
117
|
[constants_1.JobQueue.SYSTEM_EVENT_QUEUE]: QueueEventType.SYSTEM_EVENT,
|
|
117
118
|
[constants_1.JobQueue.APP_MIGRATION]: QueueEventType.APP_MIGRATION,
|
|
118
119
|
[constants_1.JobQueue.DOC_WRITETHROUGH_QUEUE]: QueueEventType.DOC_WRITETHROUGH,
|
|
120
|
+
[constants_1.JobQueue.DEV_REVERT_PROCESSOR]: QueueEventType.DEV_REVERT_EVENT,
|
|
119
121
|
};
|
|
120
122
|
function logging(queue, jobQueue) {
|
|
121
123
|
var _a;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listeners.js","sourceRoot":"","sources":["../../../src/queue/listeners.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,oCASC;AAdD,2CAAsC;AACtC,oDAAqC;AAIrC,SAAgB,YAAY,CAC1B,KAAY,EACZ,QAAkB,EAClB,eAA2B;IAE3B,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;IACxB,IAAI,eAAe,EAAE,CAAC;QACpB,aAAa,CAAC,KAAK,EAAE,eAAe,CAAC,CAAA;IACvC,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,KAAY,EAAE,eAA2B;IAC9D,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,CAAO,GAAQ,EAAE,EAAE;QACrC,IAAI,eAAe,EAAE,CAAC;YACpB,MAAM,eAAe,CAAC,GAAG,CAAC,CAAA;QAC5B,CAAC;aAAM,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,GAAG,CAAC,EAAE,CAAA;YACpB,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,iBAAiB,EAAE,CAAA;YAClD,KAAK,IAAI,SAAS,IAAI,UAAU,EAAE,CAAC;gBACjC,IAAI,SAAS,CAAC,EAAE,KAAK,KAAK,EAAE,CAAC;oBAC3B,MAAM,KAAK,CAAC,qBAAqB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;gBAClD,CAAC;YACH,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,SAAS,KAAK,WAAW,CAAC,CAAA;QACxC,CAAC;IACH,CAAC,CAAA,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,YAAY,CACnB,SAAyB,EACzB,KAAgB,EAChB,OAII,EAAE,EACN,QAAa,EAAE;;IAEf,MAAM,OAAO,GAAG,UAAU,SAAS,IAAI,KAAK,EAAE,CAAA;IAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAA;IAEtB,MAAM,OAAO,mBACX,OAAO,EAAE,MAAM,EACf,SAAS;QACT,KAAK,EACL,GAAG,EAAE,IAAI,CAAC,GAAG,EACb,KAAK,EAAE,IAAI,CAAC,KAAK,KAAI,MAAA,IAAI,CAAC,GAAG,0CAAE,EAAE,CAAA,IAC9B,KAAK,CACT,CAAA;IAED,IAAI,aAAa,CAAA;IACjB,IAAI,MAAA,MAAA,IAAI,CAAC,GAAG,0CAAE,IAAI,0CAAE,UAAU,EAAE,CAAC;QAC/B,aAAa,GAAG;YACd,OAAO,EAAE,YAAY;YACrB,OAAO,EAAE,IAAI,CAAC,GAAG;gBACf,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK;gBACnD,CAAC,CAAC,SAAS;SACd,CAAA;IACH,CAAC;IAED,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa,CAAC,CAAA;AAC/C,CAAC;AAED,IAAK,SAaJ;AAbD,WAAK,SAAS;IACZ,4BAAe,CAAA;IACf,gCAAmB,CAAA;IACnB,8BAAiB,CAAA;IACjB,gCAAmB,CAAA;IACnB,kCAAqB,CAAA;IACrB,oCAAuB,CAAA;IACvB,8BAAiB,CAAA;IACjB,8BAAiB,CAAA;IACjB,gCAAmB,CAAA;IACnB,gCAAmB,CAAA;IACnB,gCAAmB,CAAA;IACnB,gCAAmB,CAAA;AACrB,CAAC,EAbI,SAAS,KAAT,SAAS,QAab;AAED,IAAK,
|
|
1
|
+
{"version":3,"file":"listeners.js","sourceRoot":"","sources":["../../../src/queue/listeners.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { JobQueue } from "./constants";
|
|
2
|
-
import BullQueue, { JobOptions, Job } from "bull";
|
|
2
|
+
import BullQueue, { JobOptions, Job, DoneCallback } from "bull";
|
|
3
3
|
import { StalledFn } from "./listeners";
|
|
4
4
|
export type { QueueOptions, Queue, JobOptions } from "bull";
|
|
5
5
|
export interface BudibaseQueueOpts<T> {
|
|
@@ -13,14 +13,15 @@ export declare class BudibaseQueue<T> {
|
|
|
13
13
|
private opts;
|
|
14
14
|
private jobQueue;
|
|
15
15
|
constructor(jobQueue: JobQueue, opts?: BudibaseQueueOpts<T>);
|
|
16
|
+
get name(): string;
|
|
16
17
|
private initQueue;
|
|
17
18
|
getBullQueue(): BullQueue.Queue<T>;
|
|
18
|
-
process(concurrency: number, cb: (job: Job<T
|
|
19
|
-
process(cb: (job: Job<T
|
|
19
|
+
process(concurrency: number, cb: (job: Job<T>, done?: DoneCallback) => Promise<void>): Promise<void>;
|
|
20
|
+
process(cb: (job: Job<T>, done?: DoneCallback) => Promise<void>): Promise<void>;
|
|
20
21
|
add(data: T, opts?: JobOptions): Promise<Job<T>>;
|
|
21
22
|
private withMetrics;
|
|
22
23
|
private metricTags;
|
|
23
|
-
close(): Promise<void>;
|
|
24
|
+
close(doNotWaitJobs?: boolean): Promise<void>;
|
|
24
25
|
whenCurrentJobsFinished(): Promise<void>;
|
|
25
26
|
}
|
|
26
27
|
export declare function shutdown(): Promise<void>;
|
package/dist/src/queue/queue.js
CHANGED
|
@@ -116,6 +116,9 @@ class BudibaseQueue {
|
|
|
116
116
|
this.jobQueue = jobQueue;
|
|
117
117
|
this.queue = this.initQueue();
|
|
118
118
|
}
|
|
119
|
+
get name() {
|
|
120
|
+
return this.queue.name;
|
|
121
|
+
}
|
|
119
122
|
initQueue() {
|
|
120
123
|
const redisOpts = (0, utils_1.getRedisOptions)();
|
|
121
124
|
const queueConfig = {
|
|
@@ -137,9 +140,7 @@ class BudibaseQueue {
|
|
|
137
140
|
}
|
|
138
141
|
else if (process.env.BULL_TEST_REDIS_PORT &&
|
|
139
142
|
!isNaN(+process.env.BULL_TEST_REDIS_PORT)) {
|
|
140
|
-
queue = new bull_1.default(this.jobQueue, {
|
|
141
|
-
redis: { host: "localhost", port: +process.env.BULL_TEST_REDIS_PORT },
|
|
142
|
-
});
|
|
143
|
+
queue = new bull_1.default(this.jobQueue, Object.assign(Object.assign({}, queueConfig), { redis: { host: "localhost", port: +process.env.BULL_TEST_REDIS_PORT } }));
|
|
143
144
|
}
|
|
144
145
|
else {
|
|
145
146
|
queue = new inMemoryQueue_1.default(this.jobQueue, queueConfig);
|
|
@@ -168,7 +169,7 @@ class BudibaseQueue {
|
|
|
168
169
|
else {
|
|
169
170
|
cb = args[0];
|
|
170
171
|
}
|
|
171
|
-
const
|
|
172
|
+
const processCallback = (job, done) => __awaiter(this, void 0, void 0, function* () {
|
|
172
173
|
yield dd_trace_1.default.trace("queue.process", (span) => __awaiter(this, void 0, void 0, function* () {
|
|
173
174
|
// @ts-expect-error monkey patching the parent span id
|
|
174
175
|
if (job.data._parentSpanContext) {
|
|
@@ -188,9 +189,22 @@ class BudibaseQueue {
|
|
|
188
189
|
span.addTags(this.opts.jobTags(job.data));
|
|
189
190
|
}
|
|
190
191
|
dd_trace_1.default.dogstatsd.distribution("queue.process.sizeBytes", (0, object_sizeof_1.default)(job.data), this.metricTags());
|
|
191
|
-
yield this.withMetrics("queue.process", () =>
|
|
192
|
+
yield this.withMetrics("queue.process", () => {
|
|
193
|
+
if (done) {
|
|
194
|
+
return cb(job, done);
|
|
195
|
+
}
|
|
196
|
+
return cb(job);
|
|
197
|
+
});
|
|
192
198
|
}));
|
|
193
199
|
});
|
|
200
|
+
let wrappedCb;
|
|
201
|
+
if (cb.length === 1) {
|
|
202
|
+
// If we pass a second parameter to the callback for queue.process, the call to done will be expected
|
|
203
|
+
wrappedCb = (job) => processCallback(job);
|
|
204
|
+
}
|
|
205
|
+
else {
|
|
206
|
+
wrappedCb = processCallback;
|
|
207
|
+
}
|
|
194
208
|
if (concurrency) {
|
|
195
209
|
return this.queue.process(concurrency, wrappedCb);
|
|
196
210
|
}
|
|
@@ -221,8 +235,8 @@ class BudibaseQueue {
|
|
|
221
235
|
metricTags() {
|
|
222
236
|
return { queueName: this.jobQueue };
|
|
223
237
|
}
|
|
224
|
-
close() {
|
|
225
|
-
return this.queue.close();
|
|
238
|
+
close(doNotWaitJobs) {
|
|
239
|
+
return this.queue.close(doNotWaitJobs);
|
|
226
240
|
}
|
|
227
241
|
whenCurrentJobsFinished() {
|
|
228
242
|
return this.queue.whenCurrentJobsFinished();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queue.js","sourceRoot":"","sources":["../../../src/queue/queue.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"queue.js","sourceRoot":"","sources":["../../../src/queue/queue.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { JobQueue } from "./constants";
|
|
2
|
+
export declare class UnretriableError extends Error {
|
|
3
|
+
constructor(message: string);
|
|
4
|
+
}
|
|
5
|
+
export interface QueuedProcessorOptions {
|
|
6
|
+
maxAttempts?: number;
|
|
7
|
+
removeOnFail?: boolean;
|
|
8
|
+
removeOnComplete?: boolean;
|
|
9
|
+
maxStalledCount?: number;
|
|
10
|
+
waitForCompletionMs?: number;
|
|
11
|
+
}
|
|
12
|
+
export declare abstract class QueuedProcessor<T> {
|
|
13
|
+
private _queue;
|
|
14
|
+
private waitForCompletionMs;
|
|
15
|
+
constructor(queueType: JobQueue, options?: QueuedProcessorOptions);
|
|
16
|
+
close(doNotWaitJobs?: boolean): Promise<void>;
|
|
17
|
+
protected abstract processFn: (data: T) => Promise<any>;
|
|
18
|
+
execute(data: T): Promise<{
|
|
19
|
+
success: true;
|
|
20
|
+
result: any;
|
|
21
|
+
} | {
|
|
22
|
+
success: false;
|
|
23
|
+
reason: "timeout";
|
|
24
|
+
}>;
|
|
25
|
+
}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
36
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
37
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
38
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
39
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
40
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
41
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
45
|
+
exports.QueuedProcessor = exports.UnretriableError = void 0;
|
|
46
|
+
const queue_1 = require("./queue");
|
|
47
|
+
const logging = __importStar(require("../logging"));
|
|
48
|
+
const shared_core_1 = require("@budibase/shared-core");
|
|
49
|
+
class UnretriableError extends Error {
|
|
50
|
+
constructor(message) {
|
|
51
|
+
super(message);
|
|
52
|
+
this.name = "PermanentError";
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
exports.UnretriableError = UnretriableError;
|
|
56
|
+
class QueuedProcessor {
|
|
57
|
+
constructor(queueType, options = {}) {
|
|
58
|
+
const { maxAttempts = 3, removeOnFail = true, removeOnComplete = true, maxStalledCount = 3, } = options;
|
|
59
|
+
this.waitForCompletionMs = options.waitForCompletionMs || 10000;
|
|
60
|
+
this._queue = new queue_1.BudibaseQueue(queueType, {
|
|
61
|
+
maxStalledCount,
|
|
62
|
+
jobOptions: {
|
|
63
|
+
attempts: maxAttempts,
|
|
64
|
+
removeOnFail,
|
|
65
|
+
removeOnComplete,
|
|
66
|
+
},
|
|
67
|
+
});
|
|
68
|
+
this._queue.process((job, done) => __awaiter(this, void 0, void 0, function* () {
|
|
69
|
+
try {
|
|
70
|
+
const result = yield this.processFn(job.data);
|
|
71
|
+
done === null || done === void 0 ? void 0 : done(null, result);
|
|
72
|
+
}
|
|
73
|
+
catch (err) {
|
|
74
|
+
if (err instanceof UnretriableError) {
|
|
75
|
+
yield job.discard();
|
|
76
|
+
}
|
|
77
|
+
logging.logAlert(`Failed to process job in ${this._queue.name}`, err);
|
|
78
|
+
done === null || done === void 0 ? void 0 : done(err);
|
|
79
|
+
}
|
|
80
|
+
}));
|
|
81
|
+
}
|
|
82
|
+
close(doNotWaitJobs) {
|
|
83
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
84
|
+
yield this._queue.close(doNotWaitJobs);
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
execute(data) {
|
|
88
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
89
|
+
try {
|
|
90
|
+
const job = yield this._queue.add(data);
|
|
91
|
+
const result = yield shared_core_1.helpers.withTimeout(this.waitForCompletionMs, () => job.finished());
|
|
92
|
+
return { success: true, result };
|
|
93
|
+
}
|
|
94
|
+
catch (err) {
|
|
95
|
+
if (err.errno !== "ETIME") {
|
|
96
|
+
throw err;
|
|
97
|
+
}
|
|
98
|
+
return { success: false, reason: "timeout" };
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
exports.QueuedProcessor = QueuedProcessor;
|
|
104
|
+
//# sourceMappingURL=queuedProcessor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queuedProcessor.js","sourceRoot":"","sources":["../../../src/queue/queuedProcessor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAAuC;AACvC,oDAAqC;AAErC,uDAA+C;AAE/C,MAAa,gBAAiB,SAAQ,KAAK;IACzC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAA;IAC9B,CAAC;CACF;AALD,4CAKC;AAUD,MAAsB,eAAe;IAInC,YAAY,SAAmB,EAAE,UAAkC,EAAE;QACnE,MAAM,EACJ,WAAW,GAAG,CAAC,EACf,YAAY,GAAG,IAAI,EACnB,gBAAgB,GAAG,IAAI,EACvB,eAAe,GAAG,CAAC,GACpB,GAAG,OAAO,CAAA;QAEX,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,IAAI,KAAK,CAAA;QAE/D,IAAI,CAAC,MAAM,GAAG,IAAI,qBAAa,CAAI,SAAS,EAAE;YAC5C,eAAe;YACf,UAAU,EAAE;gBACV,QAAQ,EAAE,WAAW;gBACrB,YAAY;gBACZ,gBAAgB;aACjB;SACF,CAAC,CAAA;QAEF,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAO,GAAG,EAAE,IAAI,EAAE,EAAE;YACtC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;gBAC7C,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAG,IAAI,EAAE,MAAM,CAAC,CAAA;YACtB,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,IAAI,GAAG,YAAY,gBAAgB,EAAE,CAAC;oBACpC,MAAM,GAAG,CAAC,OAAO,EAAE,CAAA;gBACrB,CAAC;gBACD,OAAO,CAAC,QAAQ,CAAC,4BAA4B,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAA;gBACrE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAG,GAAG,CAAC,CAAA;YACb,CAAC;QACH,CAAC,CAAA,CAAC,CAAA;IACJ,CAAC;IAEK,KAAK,CAAC,aAAuB;;YACjC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;QACxC,CAAC;KAAA;IAIK,OAAO,CACX,IAAO;;YAIP,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;gBACvC,MAAM,MAAM,GAAG,MAAM,qBAAO,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,EAAE,GAAG,EAAE,CACtE,GAAG,CAAC,QAAQ,EAAE,CACf,CAAA;gBACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAA;YAClC,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,IAAI,GAAG,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;oBAC1B,MAAM,GAAG,CAAA;gBACX,CAAC;gBAED,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,CAAA;YAC9C,CAAC;QACH,CAAC;KAAA;CACF;AA9DD,0CA8DC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|