12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- const cluster = require("node:cluster");
- const os = require("node:os");
- const process = require("node:process");
- const { SimpleRouter, createServer } = require("velocy");
- if (cluster.isPrimary) {
- console.log(`Primary ${process.pid} is running`);
- const numCPUs = os.cpus().length;
- for (let i = 0; i < numCPUs; i++) {
- cluster.fork();
- }
- cluster.on("exit", (worker) => {
- console.log(`worker ${worker.process.pid} died`);
- process.exit(1);
- });
- } else {
- const router = new SimpleRouter();
- router.get("/plaintext", (req, res) => {
- let p = "Hello, World!";
- res.writeHead(200, {
- "content-type": "text/plain",
- "content-length": p.length,
- Server: "Velocy",
- });
- res.end(p);
- });
- router.get("/json", (req, res) => {
- let p = JSON.stringify({ message: "Hello, World!" });
- res.writeHead(200, {
- "content-type": "application/json",
- "content-length": p.length,
- Server: "Velocy",
- });
- res.end(p);
- });
- createServer(router).listen(8080);
- console.log(`Worker ${process.pid} started`);
- }
|