Основы:
Мне нужно запустить функцию Interval, которая вызывает стороннюю конечную точку api только раз в час. Я не хочу, чтобы эта функция вызывалась у моих рабочих, поскольку эта функция будет вызываться каждым рабочим за час.
Я вижу это на многих примерах:
//Example Clustering
if (cluster.isMaster) {
//Do I insert my function here?
for (var i = 0; i < numCPUs; i++) {
// Create a worker
cluster.fork();
}
}
else {
var app = express();
app.get('/', function (req, res) {
res.send('Hello World!');
});
app.listen(8080);
}
Я не знаю, где разместить мой метод Timed Nodejs, где он будет обрабатываться только главным процессом.
Похоже, что на эту конкретную тему не так много руководств или учебных пособий. Любая помощь очень ценится.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Да, вы в основном правы - если вы определили makeHttpRequest выше, вот как может выглядеть код:
if (cluster.isMaster) {
setInterval(
() => makeHttpRequest(),
1000 * 60 * 60
)
for (var i = 0; i < numCPUs; i++) {
// Create a worker
cluster.fork();
}
} else {
var app = express();
app.get('/', function (req, res) {
res.send('Hello World!');
});
app.listen(8080);
}
Имейте в виду, что setInterval ненадежен в краткосрочной или долгосрочной перспективе., и есть инструменты получше. Если вам нужны длинные интервалы (например, 1 час), вы можете использовать https://github.com/kelektiv/node-cron
Спасибо! Я проверю это.