bullmq 3.12.0 → 3.13.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 +14 -92
- package/dist/cjs/classes/child-pool.js.map +1 -1
- package/dist/cjs/classes/child-processor.js +14 -11
- package/dist/cjs/classes/child-processor.js.map +1 -1
- package/dist/cjs/classes/child.js +216 -0
- package/dist/cjs/classes/child.js.map +1 -0
- package/dist/cjs/classes/index.js +2 -2
- package/dist/cjs/classes/index.js.map +1 -1
- package/dist/cjs/classes/job.js +5 -2
- package/dist/cjs/classes/job.js.map +1 -1
- package/dist/cjs/classes/main-base.js +45 -0
- package/dist/cjs/classes/main-base.js.map +1 -0
- package/dist/cjs/classes/main-worker.js +10 -0
- package/dist/cjs/classes/main-worker.js.map +1 -0
- package/dist/cjs/classes/main.js +10 -0
- package/dist/cjs/classes/main.js.map +1 -0
- package/dist/cjs/classes/sandbox.js +3 -4
- package/dist/cjs/classes/sandbox.js.map +1 -1
- package/dist/cjs/classes/scripts.js +5 -7
- package/dist/cjs/classes/scripts.js.map +1 -1
- package/dist/cjs/classes/worker.js +53 -48
- package/dist/cjs/classes/worker.js.map +1 -1
- package/dist/cjs/tsconfig-cjs.tsbuildinfo +1 -1
- package/dist/cjs/utils.js +4 -3
- package/dist/cjs/utils.js.map +1 -1
- package/dist/esm/classes/child-pool.d.ts +15 -14
- package/dist/esm/classes/child-pool.js +14 -92
- package/dist/esm/classes/child-pool.js.map +1 -1
- package/dist/esm/classes/child-processor.d.ts +3 -1
- package/dist/esm/classes/child-processor.js +15 -12
- package/dist/esm/classes/child-processor.js.map +1 -1
- package/dist/esm/classes/child.d.ts +36 -0
- package/dist/esm/classes/child.js +212 -0
- package/dist/esm/classes/child.js.map +1 -0
- package/dist/esm/classes/index.d.ts +0 -1
- package/dist/esm/classes/index.js +2 -2
- package/dist/esm/classes/index.js.map +1 -1
- package/dist/esm/classes/job.js +5 -2
- package/dist/esm/classes/job.js.map +1 -1
- package/dist/esm/classes/main-base.d.ts +4 -0
- package/dist/esm/classes/main-base.js +43 -0
- package/dist/esm/classes/main-base.js.map +1 -0
- package/dist/esm/classes/main-worker.d.ts +1 -0
- package/dist/esm/classes/main-worker.js +8 -0
- package/dist/esm/classes/main-worker.js.map +1 -0
- package/dist/esm/classes/main.d.ts +1 -0
- package/dist/esm/classes/main.js +8 -0
- package/dist/esm/classes/main.js.map +1 -0
- package/dist/esm/classes/sandbox.js +3 -4
- package/dist/esm/classes/sandbox.js.map +1 -1
- package/dist/esm/classes/scripts.d.ts +2 -2
- package/dist/esm/classes/scripts.js +5 -7
- package/dist/esm/classes/scripts.js.map +1 -1
- package/dist/esm/classes/worker.d.ts +0 -1
- package/dist/esm/classes/worker.js +53 -48
- package/dist/esm/classes/worker.js.map +1 -1
- package/dist/esm/interfaces/worker-options.d.ts +8 -0
- package/dist/esm/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/utils.d.ts +2 -3
- package/dist/esm/utils.js +3 -1
- package/dist/esm/utils.js.map +1 -1
- package/package.json +3 -3
- package/dist/cjs/classes/master.js +0 -39
- package/dist/cjs/classes/master.js.map +0 -1
- package/dist/cjs/classes/process-utils.js +0 -34
- package/dist/cjs/classes/process-utils.js.map +0 -1
- package/dist/esm/classes/master.js +0 -37
- package/dist/esm/classes/master.js.map +0 -1
- package/dist/esm/classes/process-utils.d.ts +0 -7
- package/dist/esm/classes/process-utils.js +0 -31
- package/dist/esm/classes/process-utils.js.map +0 -1
- /package/dist/cjs/classes/{master.d.ts → main-worker.d.ts} +0 -0
- /package/dist/{esm/classes/master.d.ts → cjs/classes/main.d.ts} +0 -0
@@ -1,111 +1,33 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.ChildPool = void 0;
|
4
|
-
const child_process_1 = require("child_process");
|
5
4
|
const path = require("path");
|
6
|
-
const
|
7
|
-
const process_utils_1 = require("./process-utils");
|
8
|
-
const interfaces_1 = require("../interfaces");
|
9
|
-
const utils_1 = require("../utils");
|
5
|
+
const child_1 = require("./child");
|
10
6
|
const CHILD_KILL_TIMEOUT = 30000;
|
11
|
-
const getFreePort = async () => {
|
12
|
-
return new Promise(resolve => {
|
13
|
-
const server = (0, net_1.createServer)();
|
14
|
-
server.listen(0, () => {
|
15
|
-
const { port } = server.address();
|
16
|
-
server.close(() => resolve(port));
|
17
|
-
});
|
18
|
-
});
|
19
|
-
};
|
20
|
-
const convertExecArgv = async (execArgv) => {
|
21
|
-
const standard = [];
|
22
|
-
const convertedArgs = [];
|
23
|
-
for (let i = 0; i < execArgv.length; i++) {
|
24
|
-
const arg = execArgv[i];
|
25
|
-
if (arg.indexOf('--inspect') === -1) {
|
26
|
-
standard.push(arg);
|
27
|
-
}
|
28
|
-
else {
|
29
|
-
const argName = arg.split('=')[0];
|
30
|
-
const port = await getFreePort();
|
31
|
-
convertedArgs.push(`${argName}=${port}`);
|
32
|
-
}
|
33
|
-
}
|
34
|
-
return standard.concat(convertedArgs);
|
35
|
-
};
|
36
|
-
/**
|
37
|
-
* @see https://nodejs.org/api/process.html#process_exit_codes
|
38
|
-
*/
|
39
|
-
const exitCodesErrors = {
|
40
|
-
1: 'Uncaught Fatal Exception',
|
41
|
-
2: 'Unused',
|
42
|
-
3: 'Internal JavaScript Parse Error',
|
43
|
-
4: 'Internal JavaScript Evaluation Failure',
|
44
|
-
5: 'Fatal Error',
|
45
|
-
6: 'Non-function Internal Exception Handler',
|
46
|
-
7: 'Internal Exception Handler Run-Time Failure',
|
47
|
-
8: 'Unused',
|
48
|
-
9: 'Invalid Argument',
|
49
|
-
10: 'Internal JavaScript Run-Time Failure',
|
50
|
-
12: 'Invalid Debug Argument',
|
51
|
-
13: 'Unfinished Top-Level Await',
|
52
|
-
};
|
53
|
-
async function initChild(child, processFile) {
|
54
|
-
const onComplete = new Promise((resolve, reject) => {
|
55
|
-
const onMessageHandler = (msg) => {
|
56
|
-
if (msg.cmd === interfaces_1.ParentCommand.InitCompleted) {
|
57
|
-
resolve();
|
58
|
-
}
|
59
|
-
else if (msg.cmd === interfaces_1.ParentCommand.InitFailed) {
|
60
|
-
const err = new Error();
|
61
|
-
err.stack = msg.err.stack;
|
62
|
-
err.message = msg.err.message;
|
63
|
-
reject(err);
|
64
|
-
}
|
65
|
-
child.off('message', onMessageHandler);
|
66
|
-
child.off('close', onCloseHandler);
|
67
|
-
};
|
68
|
-
const onCloseHandler = (code, signal) => {
|
69
|
-
if (code > 128) {
|
70
|
-
code -= 128;
|
71
|
-
}
|
72
|
-
const msg = exitCodesErrors[code] || `Unknown exit code ${code}`;
|
73
|
-
reject(new Error(`Error initializing child: ${msg} and signal ${signal}`));
|
74
|
-
child.off('message', onMessageHandler);
|
75
|
-
child.off('close', onCloseHandler);
|
76
|
-
};
|
77
|
-
child.on('message', onMessageHandler);
|
78
|
-
child.on('close', onCloseHandler);
|
79
|
-
});
|
80
|
-
await (0, utils_1.parentSend)(child, { cmd: interfaces_1.ChildCommand.Init, value: processFile });
|
81
|
-
await onComplete;
|
82
|
-
}
|
83
7
|
class ChildPool {
|
84
|
-
constructor(
|
85
|
-
this.masterFile = masterFile;
|
8
|
+
constructor({ mainFile = path.join(process.cwd(), 'dist/cjs/classes/main.js'), useWorkerThreads, }) {
|
86
9
|
this.retained = {};
|
87
10
|
this.free = {};
|
11
|
+
this.opts = { mainFile, useWorkerThreads };
|
88
12
|
}
|
89
13
|
async retain(processFile) {
|
90
|
-
|
91
|
-
let child = _this.getFree(processFile).pop();
|
14
|
+
let child = this.getFree(processFile).pop();
|
92
15
|
if (child) {
|
93
|
-
|
16
|
+
this.retained[child.pid] = child;
|
94
17
|
return child;
|
95
18
|
}
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
child.on('exit', _this.remove.bind(_this, child));
|
101
|
-
child.stdout.pipe(process.stdout);
|
102
|
-
child.stderr.pipe(process.stderr);
|
19
|
+
child = new child_1.Child(this.opts.mainFile, processFile, {
|
20
|
+
useWorkerThreads: this.opts.useWorkerThreads,
|
21
|
+
});
|
22
|
+
child.on('exit', this.remove.bind(this, child));
|
103
23
|
try {
|
104
|
-
await
|
24
|
+
await child.init();
|
25
|
+
this.retained[child.pid] = child;
|
105
26
|
return child;
|
106
27
|
}
|
107
28
|
catch (err) {
|
108
|
-
|
29
|
+
console.error(err);
|
30
|
+
this.release(child);
|
109
31
|
throw err;
|
110
32
|
}
|
111
33
|
}
|
@@ -123,7 +45,7 @@ class ChildPool {
|
|
123
45
|
}
|
124
46
|
async kill(child, signal = 'SIGKILL') {
|
125
47
|
this.remove(child);
|
126
|
-
|
48
|
+
return child.kill(signal, CHILD_KILL_TIMEOUT);
|
127
49
|
}
|
128
50
|
async clean() {
|
129
51
|
const children = Object.values(this.retained).concat(this.getAllFree());
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"child-pool.js","sourceRoot":"","sources":["../../../src/classes/child-pool.ts"],"names":[],"mappings":";;;AAAA,
|
1
|
+
{"version":3,"file":"child-pool.js","sourceRoot":"","sources":["../../../src/classes/child-pool.ts"],"names":[],"mappings":";;;AAAA,6BAA6B;AAC7B,mCAAgC;AAEhC,MAAM,kBAAkB,GAAG,KAAM,CAAC;AAOlC,MAAa,SAAS;IAKpB,YAAY,EACV,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,0BAA0B,CAAC,EAC/D,gBAAgB,GACF;QAPhB,aAAQ,GAA6B,EAAE,CAAC;QACxC,SAAI,GAA+B,EAAE,CAAC;QAOpC,IAAI,CAAC,IAAI,GAAG,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,WAAmB;QAC9B,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,GAAG,EAAE,CAAC;QAE5C,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACjC,OAAO,KAAK,CAAC;SACd;QAED,KAAK,GAAG,IAAI,aAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE;YACjD,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB;SAC7C,CAAC,CAAC;QACH,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;QAEhD,IAAI;YACF,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YAEjC,OAAO,KAAK,CAAC;SACd;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACnB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACpB,MAAM,GAAG,CAAC;SACX;IACH,CAAC;IAED,OAAO,CAAC,KAAY;QAClB,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,CAAC,KAAY;QACjB,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAEhC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAE7C,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,UAAU,GAAG,CAAC,CAAC,EAAE;YACnB,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;SAC5B;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CACR,KAAY,EACZ,SAAgC,SAAS;QAEzC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnB,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QACxE,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QAEf,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,OAAO,CAAC,EAAU;QAChB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,UAAU;QACR,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CACpC,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EACvC,EAAE,CACH,CAAC;IACJ,CAAC;CACF;AA/ED,8BA+EC"}
|
@@ -15,10 +15,13 @@ var ChildStatus;
|
|
15
15
|
* ChildProcessor
|
16
16
|
*
|
17
17
|
* This class acts as the interface between a child process and it parent process
|
18
|
-
* so that jobs can be processed in different processes
|
18
|
+
* so that jobs can be processed in different processes.
|
19
19
|
*
|
20
20
|
*/
|
21
21
|
class ChildProcessor {
|
22
|
+
constructor(send) {
|
23
|
+
this.send = send;
|
24
|
+
}
|
22
25
|
async init(processorFile) {
|
23
26
|
let processor;
|
24
27
|
try {
|
@@ -33,7 +36,7 @@ class ChildProcessor {
|
|
33
36
|
}
|
34
37
|
catch (err) {
|
35
38
|
this.status = ChildStatus.Errored;
|
36
|
-
return
|
39
|
+
return this.send({
|
37
40
|
cmd: interfaces_1.ParentCommand.InitFailed,
|
38
41
|
err: (0, utils_1.errorToJSON)(err),
|
39
42
|
});
|
@@ -54,13 +57,13 @@ class ChildProcessor {
|
|
54
57
|
}
|
55
58
|
this.processor = processor;
|
56
59
|
this.status = ChildStatus.Idle;
|
57
|
-
await
|
60
|
+
await this.send({
|
58
61
|
cmd: interfaces_1.ParentCommand.InitCompleted,
|
59
62
|
});
|
60
63
|
}
|
61
64
|
async start(jobJson) {
|
62
65
|
if (this.status !== ChildStatus.Idle) {
|
63
|
-
return
|
66
|
+
return this.send({
|
64
67
|
cmd: interfaces_1.ParentCommand.Error,
|
65
68
|
err: (0, utils_1.errorToJSON)(new Error('cannot start a not idling child process')),
|
66
69
|
});
|
@@ -68,15 +71,15 @@ class ChildProcessor {
|
|
68
71
|
this.status = ChildStatus.Started;
|
69
72
|
this.currentJobPromise = (async () => {
|
70
73
|
try {
|
71
|
-
const job = wrapJob(jobJson);
|
74
|
+
const job = wrapJob(jobJson, this.send);
|
72
75
|
const result = (await this.processor(job)) || {};
|
73
|
-
await
|
76
|
+
await this.send({
|
74
77
|
cmd: interfaces_1.ParentCommand.Completed,
|
75
78
|
value: result,
|
76
79
|
});
|
77
80
|
}
|
78
81
|
catch (err) {
|
79
|
-
await
|
82
|
+
await this.send({
|
80
83
|
cmd: interfaces_1.ParentCommand.Failed,
|
81
84
|
value: (0, utils_1.errorToJSON)(!err.message ? new Error(err) : err),
|
82
85
|
});
|
@@ -108,14 +111,14 @@ exports.ChildProcessor = ChildProcessor;
|
|
108
111
|
* the functions on the original job object are not in tact.
|
109
112
|
* The wrapped job adds back some of those original functions.
|
110
113
|
*/
|
111
|
-
function wrapJob(job) {
|
114
|
+
function wrapJob(job, send) {
|
112
115
|
let progressValue = job.progress;
|
113
116
|
const updateProgress = async (progress) => {
|
114
117
|
// Locally store reference to new progress value
|
115
118
|
// so that we can return it from this process synchronously.
|
116
119
|
progressValue = progress;
|
117
120
|
// Send message to update job progress.
|
118
|
-
await (
|
121
|
+
await send({
|
119
122
|
cmd: interfaces_1.ParentCommand.Progress,
|
120
123
|
value: progress,
|
121
124
|
});
|
@@ -129,7 +132,7 @@ function wrapJob(job) {
|
|
129
132
|
* Emulate the real job `log` function.
|
130
133
|
*/
|
131
134
|
log: async (row) => {
|
132
|
-
(
|
135
|
+
send({
|
133
136
|
cmd: interfaces_1.ParentCommand.Log,
|
134
137
|
value: row,
|
135
138
|
});
|
@@ -138,7 +141,7 @@ function wrapJob(job) {
|
|
138
141
|
* Emulate the real job `update` function.
|
139
142
|
*/
|
140
143
|
update: async (data) => {
|
141
|
-
(
|
144
|
+
send({
|
142
145
|
cmd: interfaces_1.ParentCommand.Update,
|
143
146
|
value: data,
|
144
147
|
});
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"child-processor.js","sourceRoot":"","sources":["../../../src/classes/child-processor.ts"],"names":[],"mappings":";;;AAAA,+BAAiC;AACjC,8CAAqE;AACrE,
|
1
|
+
{"version":3,"file":"child-processor.js","sourceRoot":"","sources":["../../../src/classes/child-processor.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,216 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.Child = void 0;
|
4
|
+
const child_process_1 = require("child_process");
|
5
|
+
const worker_threads_1 = require("worker_threads");
|
6
|
+
const net_1 = require("net");
|
7
|
+
const __1 = require("../");
|
8
|
+
const EventEmitter = require("events");
|
9
|
+
/**
|
10
|
+
* @see https://nodejs.org/api/process.html#process_exit_codes
|
11
|
+
*/
|
12
|
+
const exitCodesErrors = {
|
13
|
+
1: 'Uncaught Fatal Exception',
|
14
|
+
2: 'Unused',
|
15
|
+
3: 'Internal JavaScript Parse Error',
|
16
|
+
4: 'Internal JavaScript Evaluation Failure',
|
17
|
+
5: 'Fatal Error',
|
18
|
+
6: 'Non-function Internal Exception Handler',
|
19
|
+
7: 'Internal Exception Handler Run-Time Failure',
|
20
|
+
8: 'Unused',
|
21
|
+
9: 'Invalid Argument',
|
22
|
+
10: 'Internal JavaScript Run-Time Failure',
|
23
|
+
12: 'Invalid Debug Argument',
|
24
|
+
13: 'Unfinished Top-Level Await',
|
25
|
+
};
|
26
|
+
/**
|
27
|
+
* Child class
|
28
|
+
*
|
29
|
+
* This class is used to create a child process or worker thread, and allows using
|
30
|
+
* isolated processes or threads for processing jobs.
|
31
|
+
*
|
32
|
+
*/
|
33
|
+
class Child extends EventEmitter {
|
34
|
+
constructor(mainFile, processFile, opts = {
|
35
|
+
useWorkerThreads: false,
|
36
|
+
}) {
|
37
|
+
super();
|
38
|
+
this.mainFile = mainFile;
|
39
|
+
this.processFile = processFile;
|
40
|
+
this.opts = opts;
|
41
|
+
this._exitCode = null;
|
42
|
+
this._signalCode = null;
|
43
|
+
this._killed = false;
|
44
|
+
}
|
45
|
+
get pid() {
|
46
|
+
if (this.childProcess) {
|
47
|
+
return this.childProcess.pid;
|
48
|
+
}
|
49
|
+
else if (this.worker) {
|
50
|
+
return this.worker.threadId;
|
51
|
+
}
|
52
|
+
else {
|
53
|
+
throw new Error('No child process or worker thread');
|
54
|
+
}
|
55
|
+
}
|
56
|
+
get exitCode() {
|
57
|
+
return this._exitCode;
|
58
|
+
}
|
59
|
+
get signalCode() {
|
60
|
+
return this._signalCode;
|
61
|
+
}
|
62
|
+
get killed() {
|
63
|
+
if (this.childProcess) {
|
64
|
+
return this.childProcess.killed;
|
65
|
+
}
|
66
|
+
return this._killed;
|
67
|
+
}
|
68
|
+
async init() {
|
69
|
+
const execArgv = await convertExecArgv(process.execArgv);
|
70
|
+
let parent;
|
71
|
+
if (this.opts.useWorkerThreads) {
|
72
|
+
this.worker = parent = new worker_threads_1.Worker(this.mainFile, {
|
73
|
+
execArgv,
|
74
|
+
stdin: true,
|
75
|
+
stdout: true,
|
76
|
+
stderr: true,
|
77
|
+
});
|
78
|
+
}
|
79
|
+
else {
|
80
|
+
this.childProcess = parent = (0, child_process_1.fork)(this.mainFile, [], {
|
81
|
+
execArgv,
|
82
|
+
stdio: 'pipe',
|
83
|
+
});
|
84
|
+
}
|
85
|
+
parent.on('exit', (exitCode, signalCode) => {
|
86
|
+
this._exitCode = exitCode;
|
87
|
+
// Coerce to null if undefined for backwards compatibility
|
88
|
+
signalCode = typeof signalCode === 'undefined' ? null : signalCode;
|
89
|
+
this._signalCode = signalCode;
|
90
|
+
this._killed = true;
|
91
|
+
this.emit('exit', exitCode, signalCode);
|
92
|
+
// Clean all listeners, we do not expect any more events after "exit"
|
93
|
+
parent.removeAllListeners();
|
94
|
+
this.removeAllListeners();
|
95
|
+
});
|
96
|
+
parent.on('error', (...args) => this.emit('error', ...args));
|
97
|
+
parent.on('message', (...args) => this.emit('message', ...args));
|
98
|
+
parent.on('close', (...args) => this.emit('close', ...args));
|
99
|
+
parent.stdout.pipe(process.stdout);
|
100
|
+
parent.stderr.pipe(process.stderr);
|
101
|
+
await this.initChild();
|
102
|
+
}
|
103
|
+
async send(msg) {
|
104
|
+
return new Promise((resolve, reject) => {
|
105
|
+
if (this.childProcess) {
|
106
|
+
this.childProcess.send(msg, (err) => {
|
107
|
+
if (err) {
|
108
|
+
reject(err);
|
109
|
+
}
|
110
|
+
else {
|
111
|
+
resolve();
|
112
|
+
}
|
113
|
+
});
|
114
|
+
}
|
115
|
+
else if (this.worker) {
|
116
|
+
resolve(this.worker.postMessage(msg));
|
117
|
+
}
|
118
|
+
else {
|
119
|
+
resolve();
|
120
|
+
}
|
121
|
+
});
|
122
|
+
}
|
123
|
+
killProcess(signal = 'SIGKILL') {
|
124
|
+
if (this.childProcess) {
|
125
|
+
this.childProcess.kill(signal);
|
126
|
+
}
|
127
|
+
else if (this.worker) {
|
128
|
+
this.worker.terminate();
|
129
|
+
}
|
130
|
+
}
|
131
|
+
async kill(signal = 'SIGKILL', timeoutMs) {
|
132
|
+
if (this.hasProcessExited()) {
|
133
|
+
return;
|
134
|
+
}
|
135
|
+
const onExit = onExitOnce(this.childProcess || this.worker);
|
136
|
+
this.killProcess(signal);
|
137
|
+
if (timeoutMs !== undefined && (timeoutMs === 0 || isFinite(timeoutMs))) {
|
138
|
+
const timeoutHandle = setTimeout(() => {
|
139
|
+
if (!this.hasProcessExited()) {
|
140
|
+
this.killProcess('SIGKILL');
|
141
|
+
}
|
142
|
+
}, timeoutMs);
|
143
|
+
await onExit;
|
144
|
+
clearTimeout(timeoutHandle);
|
145
|
+
}
|
146
|
+
await onExit;
|
147
|
+
}
|
148
|
+
async initChild() {
|
149
|
+
const onComplete = new Promise((resolve, reject) => {
|
150
|
+
const onMessageHandler = (msg) => {
|
151
|
+
if (msg.cmd === __1.ParentCommand.InitCompleted) {
|
152
|
+
resolve();
|
153
|
+
}
|
154
|
+
else if (msg.cmd === __1.ParentCommand.InitFailed) {
|
155
|
+
const err = new Error();
|
156
|
+
err.stack = msg.err.stack;
|
157
|
+
err.message = msg.err.message;
|
158
|
+
reject(err);
|
159
|
+
}
|
160
|
+
this.off('message', onMessageHandler);
|
161
|
+
this.off('close', onCloseHandler);
|
162
|
+
};
|
163
|
+
const onCloseHandler = (code, signal) => {
|
164
|
+
if (code > 128) {
|
165
|
+
code -= 128;
|
166
|
+
}
|
167
|
+
const msg = exitCodesErrors[code] || `Unknown exit code ${code}`;
|
168
|
+
reject(new Error(`Error initializing child: ${msg} and signal ${signal}`));
|
169
|
+
this.off('message', onMessageHandler);
|
170
|
+
this.off('close', onCloseHandler);
|
171
|
+
};
|
172
|
+
this.on('message', onMessageHandler);
|
173
|
+
this.on('close', onCloseHandler);
|
174
|
+
});
|
175
|
+
await this.send({
|
176
|
+
cmd: __1.ChildCommand.Init,
|
177
|
+
value: this.processFile,
|
178
|
+
});
|
179
|
+
await onComplete;
|
180
|
+
}
|
181
|
+
hasProcessExited() {
|
182
|
+
return !!(this.exitCode !== null || this.signalCode);
|
183
|
+
}
|
184
|
+
}
|
185
|
+
exports.Child = Child;
|
186
|
+
function onExitOnce(child) {
|
187
|
+
return new Promise(resolve => {
|
188
|
+
child.once('exit', () => resolve());
|
189
|
+
});
|
190
|
+
}
|
191
|
+
const getFreePort = async () => {
|
192
|
+
return new Promise(resolve => {
|
193
|
+
const server = (0, net_1.createServer)();
|
194
|
+
server.listen(0, () => {
|
195
|
+
const { port } = server.address();
|
196
|
+
server.close(() => resolve(port));
|
197
|
+
});
|
198
|
+
});
|
199
|
+
};
|
200
|
+
const convertExecArgv = async (execArgv) => {
|
201
|
+
const standard = [];
|
202
|
+
const convertedArgs = [];
|
203
|
+
for (let i = 0; i < execArgv.length; i++) {
|
204
|
+
const arg = execArgv[i];
|
205
|
+
if (arg.indexOf('--inspect') === -1) {
|
206
|
+
standard.push(arg);
|
207
|
+
}
|
208
|
+
else {
|
209
|
+
const argName = arg.split('=')[0];
|
210
|
+
const port = await getFreePort();
|
211
|
+
convertedArgs.push(`${argName}=${port}`);
|
212
|
+
}
|
213
|
+
}
|
214
|
+
return standard.concat(convertedArgs);
|
215
|
+
};
|
216
|
+
//# sourceMappingURL=child.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"child.js","sourceRoot":"","sources":["../../../src/classes/child.ts"],"names":[],"mappings":"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"}
|
@@ -8,8 +8,8 @@ tslib_1.__exportStar(require("./child-processor"), exports);
|
|
8
8
|
tslib_1.__exportStar(require("./delayed-error"), exports);
|
9
9
|
tslib_1.__exportStar(require("./flow-producer"), exports);
|
10
10
|
tslib_1.__exportStar(require("./job"), exports);
|
11
|
-
// export * from './
|
12
|
-
|
11
|
+
// export * from './main'; this file must not be exported
|
12
|
+
// export * from './main-worker'; this file must not be exported
|
13
13
|
tslib_1.__exportStar(require("./queue-base"), exports);
|
14
14
|
tslib_1.__exportStar(require("./queue-events"), exports);
|
15
15
|
tslib_1.__exportStar(require("./queue-getters"), exports);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/classes/index.ts"],"names":[],"mappings":";;;AAAA,6DAAmC;AACnC,qDAA2B;AAC3B,uDAA6B;AAC7B,4DAAkC;AAClC,0DAAgC;AAChC,0DAAgC;AAChC,gDAAsB;AACtB,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/classes/index.ts"],"names":[],"mappings":";;;AAAA,6DAAmC;AACnC,qDAA2B;AAC3B,uDAA6B;AAC7B,4DAAkC;AAClC,0DAAgC;AAChC,0DAAgC;AAChC,gDAAsB;AACtB,yDAAyD;AACzD,gEAAgE;AAChE,uDAA6B;AAC7B,yDAA+B;AAC/B,0DAAgC;AAChC,uDAA6B;AAC7B,kDAAwB;AACxB,6DAAmC;AACnC,mDAAyB;AACzB,oDAA0B;AAC1B,oDAA0B;AAC1B,gEAAsC;AACtC,mEAAyC;AACzC,mDAAyB"}
|
package/dist/cjs/classes/job.js
CHANGED
@@ -343,7 +343,10 @@ class Job {
|
|
343
343
|
if (stringifiedReturnValue === utils_1.errorObject) {
|
344
344
|
throw utils_1.errorObject.value;
|
345
345
|
}
|
346
|
-
|
346
|
+
const args = this.scripts.moveToCompletedArgs(this, stringifiedReturnValue, this.opts.removeOnComplete, token, fetchNext);
|
347
|
+
const result = await this.scripts.moveToFinished(this.id, args);
|
348
|
+
this.finishedOn = args[13];
|
349
|
+
return result;
|
347
350
|
}
|
348
351
|
/**
|
349
352
|
* Moves a job to the failed queue.
|
@@ -383,7 +386,7 @@ class Job {
|
|
383
386
|
else {
|
384
387
|
// Retry immediately
|
385
388
|
multi.retryJob(this.scripts.retryJobArgs(this.id, this.opts.lifo, token));
|
386
|
-
command = '
|
389
|
+
command = 'retryJob';
|
387
390
|
}
|
388
391
|
}
|
389
392
|
else {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"job.js","sourceRoot":"","sources":["../../../src/classes/job.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"job.js","sourceRoot":"","sources":["../../../src/classes/job.ts"],"names":[],"mappings":"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"}
|