@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 в таких случаях? Или вообще есть другие более подходящие технологии?
  • Вопрос задан
  • 242 просмотра
Пригласить эксперта
Ответы на вопрос 1
@givemoneybiatch Автор вопроса
Немного веб, немного гейм
Вопрос до конца не раскрыт, но пока остановился на этом
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы