You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node.js Worker线程未被调用,代码不执行且无日志输出的问题求助

Node.js Worker线程未被调用,代码不执行且无日志输出的问题求助

我的Node.js服务器目录结构如下:

./src/rest/api/longJob.js
./src/rest/api/worker.js

我在longJob.js中编写了一个方法,打算将耗时操作交给Worker线程处理,代码如下:

const { Worker } = require('node:worker_threads')
async runWorker(scriptfile, input) {
  console.log('Running worker python script:', scriptfile);
  return new Promise(function(resolve, reject) {
    const worker = new Worker("./src/rest/api/worker.js", {
      workerData: {
        thread_count: 3
      },
    });
    worker.on("message", (data) => {
      console.log("[[Worker]]:", data);
      resolve(data);
    });
    worker.on("error", (msg) => {
      reject(`An error ocurred: ${msg}`);
    });
  });

  return p;
}

我使用Promise来处理结果,这样当Promise被resolve时,就能将数据作为响应返回给REST API。

Worker线程文件worker.js的代码如下:

import { parentPort, workerData } from "worker_threads";

async function worker() {
  console.log("started");
  parentPort.postMessage("fixed!");
}
console.log('worker executing');
worker();

现在我遇到了问题:每次创建新的Worker时,Worker内的代码完全不执行,且Worker一直处于在线状态。另外,VSCode的JS调试终端中也看不到worker.js的控制台日志,我完全搞不清代码哪里出了问题。

我是从项目根目录通过npm start启动Node.js应用的,希望能得到大家的帮助,谢谢!

备注:内容来源于stack exchange,提问作者Ronak SHAH

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.14 17:30:29