RSS Git Download  Clone
Raw Blame History
const worker = async (options) => {
    const { Worker } = require('worker_threads');
    const workerResult = await new Promise((resolve, reject) => {
        const worker = new Worker(`${__dirname}/worker.js`, {
            workerData: options
        });
        worker.on('message', resolve);
        worker.on('error', reject);
        worker.on('exit', (code) => {
            if (code !== 0) {
                reject(new Error(`Worker stopped with exit code ${code}`));
            }
            worker.terminate()
        });
    });
    return workerResult
};

module.exports.worker = worker