Обновлять данные с интервалами в приложении nodejs - PullRequest
0 голосов
/ 04 июля 2018

Я сделал веб-приложение с nodejs, которое получает данные от amazon. Я хочу, чтобы такое приложение работало через определенные промежутки времени. Я хочу сделать - 15-минутные обновления (будут для наблюдения за живым инвентарем) - Ежедневные обновления (будут для некоторых других данных, которые меняются не очень часто)

Будет ли оптимальным использование setInterval? Я где-то читал, что setInterval приводит к проблемам ??

Какие еще варианты у меня есть?

1 Ответ

0 голосов
/ 04 июля 2018

Во-первых, использование setInterval для 15-минутных обновлений более чем приемлемо, хотя, если вы хотите установить события, которые произойдут, скажем, через несколько недель, вам лучше использовать что-то вроде Node Schedule https://github.com/node-schedule/node-schedule.

Основная причина этого заключается в том, что установка дат в далеком будущем или на еженедельной основе в качестве setInterval заключается в том, что расчет на основе времени иногда не является оптимальным, если у вас есть события на основе календаря или события, происходящие раз в две недели, или время, когда события отклоняются оттуда нормальное расписание. С помощью расписания узлов вы можете устанавливать события на основе событий дня и календаря, поэтому вы можете смешивать их в зависимости от ситуации.

Относится ко всему решению: setInterval будет проблемой, если вы начнете горизонтальное масштабирование или если ваша среда (например, Heroku) перезапустит ваш Сервер, или если вы хотите сделать это при следующем запуске сервера, если сервер не работал на определенном время. Тогда вам придется использовать базу данных. База данных сохранит время последнего запроса, по которому вы можете рассчитать время следующего запроса 'Jonas Lochmann

...