我使用https://github.com/audreyt/node-webworker-threads库进行nodejs多线程处理。
如Webworker-threads in NodeJS中所述,我不能仅在同一文件中引用函数,我必须使用库实用程序加载worker作业。
我使用ES6和babel transpiler并使用npm运行我的项目。
所以我有这个:
// index.js
const startWorker = () => {
console.log('creating worker:');
const myWorker = new Worker (
() => {
console.log('in worker');
self.importScripts('workerJob.js');
self.postMessage('done');
}
);
myWorker.onmessage = (event) => {console.log(event.data);};
};
//workerJob.js
console.log('worker job');
当我对self.importScripts
发表评论时,它可以正常运行并打印出“完成”#39;消息,但是当我尝试使用self.importScripts('workerJob.js')
导入时程序挂起。我也试过self.importScripts('./workerJob.js')
。
程序结构如下所示:
- root
- backend
- src
- index.js
- workerJob.js
- package.json
我也使用nodemon来实时运行。
如何导入员工的工作代码?