Projektstart
This commit is contained in:
111
backend/node_modules/bullmq/dist/cjs/classes/sandbox.js
generated
vendored
Normal file
111
backend/node_modules/bullmq/dist/cjs/classes/sandbox.js
generated
vendored
Normal file
@@ -0,0 +1,111 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const enums_1 = require("../enums");
|
||||
const sandbox = (processFile, childPool) => {
|
||||
return async function process(job, token) {
|
||||
let child;
|
||||
let msgHandler;
|
||||
let exitHandler;
|
||||
try {
|
||||
const done = new Promise((resolve, reject) => {
|
||||
const initChild = async () => {
|
||||
try {
|
||||
exitHandler = (exitCode, signal) => {
|
||||
reject(new Error('Unexpected exit code: ' + exitCode + ' signal: ' + signal));
|
||||
};
|
||||
child = await childPool.retain(processFile);
|
||||
child.on('exit', exitHandler);
|
||||
msgHandler = async (msg) => {
|
||||
var _a, _b, _c, _d, _e;
|
||||
try {
|
||||
switch (msg.cmd) {
|
||||
case enums_1.ParentCommand.Completed:
|
||||
resolve(msg.value);
|
||||
break;
|
||||
case enums_1.ParentCommand.Failed:
|
||||
case enums_1.ParentCommand.Error: {
|
||||
const err = new Error();
|
||||
Object.assign(err, msg.value);
|
||||
reject(err);
|
||||
break;
|
||||
}
|
||||
case enums_1.ParentCommand.Progress:
|
||||
await job.updateProgress(msg.value);
|
||||
break;
|
||||
case enums_1.ParentCommand.Log:
|
||||
await job.log(msg.value);
|
||||
break;
|
||||
case enums_1.ParentCommand.MoveToDelayed:
|
||||
await job.moveToDelayed((_a = msg.value) === null || _a === void 0 ? void 0 : _a.timestamp, (_b = msg.value) === null || _b === void 0 ? void 0 : _b.token);
|
||||
break;
|
||||
case enums_1.ParentCommand.MoveToWait:
|
||||
await job.moveToWait((_c = msg.value) === null || _c === void 0 ? void 0 : _c.token);
|
||||
break;
|
||||
case enums_1.ParentCommand.MoveToWaitingChildren:
|
||||
{
|
||||
const value = await job.moveToWaitingChildren((_d = msg.value) === null || _d === void 0 ? void 0 : _d.token, (_e = msg.value) === null || _e === void 0 ? void 0 : _e.opts);
|
||||
child.send({
|
||||
requestId: msg.requestId,
|
||||
cmd: enums_1.ChildCommand.MoveToWaitingChildrenResponse,
|
||||
value,
|
||||
});
|
||||
}
|
||||
break;
|
||||
case enums_1.ParentCommand.Update:
|
||||
await job.updateData(msg.value);
|
||||
break;
|
||||
case enums_1.ParentCommand.GetChildrenValues:
|
||||
{
|
||||
const value = await job.getChildrenValues();
|
||||
child.send({
|
||||
requestId: msg.requestId,
|
||||
cmd: enums_1.ChildCommand.GetChildrenValuesResponse,
|
||||
value,
|
||||
});
|
||||
}
|
||||
break;
|
||||
case enums_1.ParentCommand.GetIgnoredChildrenFailures:
|
||||
{
|
||||
const value = await job.getIgnoredChildrenFailures();
|
||||
child.send({
|
||||
requestId: msg.requestId,
|
||||
cmd: enums_1.ChildCommand.GetIgnoredChildrenFailuresResponse,
|
||||
value,
|
||||
});
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
catch (err) {
|
||||
reject(err);
|
||||
}
|
||||
};
|
||||
child.on('message', msgHandler);
|
||||
child.send({
|
||||
cmd: enums_1.ChildCommand.Start,
|
||||
job: job.asJSONSandbox(),
|
||||
token,
|
||||
});
|
||||
}
|
||||
catch (error) {
|
||||
reject(error);
|
||||
}
|
||||
};
|
||||
initChild();
|
||||
});
|
||||
await done;
|
||||
return done;
|
||||
}
|
||||
finally {
|
||||
if (child) {
|
||||
child.off('message', msgHandler);
|
||||
child.off('exit', exitHandler);
|
||||
if (child.exitCode === null && child.signalCode === null) {
|
||||
childPool.release(child);
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
};
|
||||
exports.default = sandbox;
|
||||
//# sourceMappingURL=sandbox.js.map
|
||||
Reference in New Issue
Block a user