@givemoneybiatch
Немного веб, немного гейм

"Вечный" процесс setInterval vs setTimeout?

Задача состоит в том, чтобы на сервере периодически получать информацию от удаленного апи с некоторым интервалом времени. Сам процесс будет стартовать вместе с сервером:
http.createServer(app).listen(PORT, function () {
   runForrestRun();
 });

function runForrestRun() {
    shared.timeoutId = setTimeout(
        function () {
            console.log("Hello");
        },
        shared.timeout);
}


При этом, нужно иметь возможность остановить этот процесс, запустить заново или поменять интервал времени через апи, например так (работоспособность первых двух ендпоинтов не проверял)
const shared = require('./shared');
const handler = require('./handler');

// start process
router.post('/api/start', function (request, response) {
    runForrestRun();
    handler.success(response, 'ok');
});

// stop process
router.post('/api/stop', function (request, response) {
    clearTimeout(shared.timeoutId);
    handler.success(response, 'ok');
});

// update timeout interval
router.post('/api/timeout', function (request, response) {
    shared.timeout = request.body.timeout;
    handler.success(response, 'ok');
});

// get current timeout interval
router.get('/api/timeout', function (request, response) {
    handler.success(response, '', shared.timeout);
});

Другая подобная задача - оповещение пользователей о чем либо по почте или на сайте (хотя конкретно этот случай не о почте) Что лучше setInterval или setTimeout в таких случаях? Или вообще есть другие более подходящие технологии?
  • Вопрос задан
  • 244 просмотра
Пригласить эксперта
Ответы на вопрос 1
@givemoneybiatch Автор вопроса
Немного веб, немного гейм
Вопрос до конца не раскрыт, но пока остановился на этом
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы