summaryrefslogtreecommitdiff
path: root/tests/testdata/workers/worker_ids_are_sequential.ts
blob: eb90f0d470aa0b925cdcadcd0c5d7f3d1d51af7f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import {
  isMainThread,
  parentPort,
  threadId,
  Worker,
} from "node:worker_threads";

console.log("threadId", threadId);

if (isMainThread) {
  const worker = new Worker(new URL(import.meta.url));
  worker.on("message", (msg) => console.log("from worker:", msg));
  worker.on("error", () => {
    throw new Error("error");
  });
  worker.on("exit", (code) => {
    if (code !== 0) {
      reject(new Error(`Worker stopped with exit code ${code}`));
    }
  });
} else if (threadId == 1) {
  const worker = new Worker(new URL(import.meta.url));
  worker.on("message", (msg) => console.log("from worker:", msg));
  worker.on("error", () => {
    throw new Error("error");
  });
  worker.on("exit", (code) => {
    if (code !== 0) {
      reject(new Error(`Worker stopped with exit code ${code}`));
    }
  });
} else {
  parentPort.postMessage("hello!");
}