简体   繁体   English

在线程模块nodejs中的“完成”事件后杀死工作线程

[英]Kill the worker threads after 'done' event in threads module nodejs

I want to kill the worker threads after the 'done' event is fired in Threads module of Nodejs. 我想在Nodejs的“线程”模块中触发“完成”事件后杀死工作线程。 How do I achieve this? 我该如何实现?

const Threads = require('threads');
const Pool = Threads.Pool; 
const workerPool = new Pool();

module.exports = class JobManager {
    static bufferedJob(pathToScript, params, callback){
        workerPool
        .run(pathToScript)
        .send(params)
        .on('done', (result, input) => {
            console.log(`Worker Job done: ${pathToScript} `);
            callback(null, result);
        })        
        .on('error', (job, error) => {
            console.log(`Error in executing Worker Job: ${pathToScript}`);
            callback(job || error);
        })
    }
}

port.close() Added in: v10.5.0 Disables further sending of messages on either side of the connection. port.close()在v10.5.0中添加。禁止在连接的任一侧进一步发送消息。 This method can be called when no further communication will happen over this MessagePort. 当此MessagePort上没有进一步的通信时,可以调用此方法。

The 'close' event will be emitted on both MessagePort instances that are part of the channel. 在通道的两个MessagePort实例上都将发出“关闭”事件。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM