const { Worker, isMainThread, parentPort, threadId } = require('worker_threads'); if (isMainThread) { } else { parentPort.on('message', (message) => { // This works even with sync execution // let lastExecuted = Date.now(); // while (true) { // if (Date.now() - lastExecuted > 900) { // parentPort.postMessage(message + threadId); // lastExecuted = Date.now(); // } // } setInterval(() => { parentPort.postMessage(message + threadId); }, 1000); }); }