faastjs
Version:
Serverless batch computing made simple.
24 lines • 2.79 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.runWorker = void 0;
const worker_threads_1 = require("worker_threads");
async function runIfWorker() {
if (!worker_threads_1.isMainThread) {
worker_threads_1.parentPort?.postMessage(`${worker_threads_1.workerData} done`);
}
}
runIfWorker();
async function runWorker(arg) {
return new Promise((resolve, reject) => {
const worker = new worker_threads_1.Worker(__filename, { workerData: arg });
worker.on("message", resolve);
worker.on("error", reject);
worker.on("exit", code => {
if (code !== 0) {
reject(new Error(`Worker stopped with exit code ${code}`));
}
});
});
}
exports.runWorker = runWorker;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdGVzdC9maXh0dXJlcy93b3JrZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbURBQThFO0FBRTlFLEtBQUssVUFBVSxXQUFXO0lBQ3RCLElBQUksQ0FBQyw2QkFBWSxFQUFFLENBQUM7UUFDaEIsMkJBQVUsRUFBRSxXQUFXLENBQUMsR0FBRywyQkFBVSxPQUFPLENBQUMsQ0FBQztJQUNsRCxDQUFDO0FBQ0wsQ0FBQztBQUVELFdBQVcsRUFBRSxDQUFDO0FBRVAsS0FBSyxVQUFVLFNBQVMsQ0FBQyxHQUFXO0lBQ3ZDLE9BQU8sSUFBSSxPQUFPLENBQVMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7UUFDM0MsTUFBTSxNQUFNLEdBQUcsSUFBSSx1QkFBTSxDQUFDLFVBQVUsRUFBRSxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQzNELE1BQU0sQ0FBQyxFQUFFLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzlCLE1BQU0sQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzNCLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxFQUFFO1lBQ3JCLElBQUksSUFBSSxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUNiLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxpQ0FBaUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQy9ELENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQztBQVhELDhCQVdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNNYWluVGhyZWFkLCBwYXJlbnRQb3J0LCBXb3JrZXIsIHdvcmtlckRhdGEgfSBmcm9tIFwid29ya2VyX3RocmVhZHNcIjtcblxuYXN5bmMgZnVuY3Rpb24gcnVuSWZXb3JrZXIoKSB7XG4gICAgaWYgKCFpc01haW5UaHJlYWQpIHtcbiAgICAgICAgcGFyZW50UG9ydD8ucG9zdE1lc3NhZ2UoYCR7d29ya2VyRGF0YX0gZG9uZWApO1xuICAgIH1cbn1cblxucnVuSWZXb3JrZXIoKTtcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJ1bldvcmtlcihhcmc6IHN0cmluZykge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZTxzdHJpbmc+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgY29uc3Qgd29ya2VyID0gbmV3IFdvcmtlcihfX2ZpbGVuYW1lLCB7IHdvcmtlckRhdGE6IGFyZyB9KTtcbiAgICAgICAgd29ya2VyLm9uKFwibWVzc2FnZVwiLCByZXNvbHZlKTtcbiAgICAgICAgd29ya2VyLm9uKFwiZXJyb3JcIiwgcmVqZWN0KTtcbiAgICAgICAgd29ya2VyLm9uKFwiZXhpdFwiLCBjb2RlID0+IHtcbiAgICAgICAgICAgIGlmIChjb2RlICE9PSAwKSB7XG4gICAgICAgICAgICAgICAgcmVqZWN0KG5ldyBFcnJvcihgV29ya2VyIHN0b3BwZWQgd2l0aCBleGl0IGNvZGUgJHtjb2RlfWApKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfSk7XG59XG4iXX0=
;