이전에 아래의 포스트를 통해 Node.js에서 스레드를 사용해 연산을 처리한 글을 올렸습니다.
이번에는 별도의 독립적인 프로세스를 통한 연산 수행해 그 결과를 얻는 코드에 대해 정리합니다. 위의 글과 동일한 기능을 구현하며 Thread 대신 Process를 이용한다는 차이점만 있습니다./p>
서버에 대한 코드는 다음과 같습니다.
const express = require("express");
const app = express();
const { fork } = require("child_process");
app.get("/", (req, res) => {
const child = fork("./task.js");
child.send("start");
child.on("message", (sum) => {
res.send({sum: sum});
})
});
app.listen(3000);
외부 프로세스에서 수행할 연산에 대한 코드는 task.js 파일에 정의되는데.. 아래와 같습니다.
process.on("message", (message) => {
if(message === "start") {
let total = 0;
for(let i=0; i<10000000000; i++) {
total++;
}
process.send(total);
}
})
