Выход из функции, если в течении определенного времени переменная пустая?

Суть такая - есть функция, которая в бесконечном цикле, с определенным интервалом, отправляет запросы на сервер. Респонз парсится в структуру, но респонз не пуст только в том случае, если на сервере происходит какое то событие. Так вот, как реализовать в го условие, которое будет проверять, что переменная в течении 2х часов была пустая, т.е. в течении двух часов на сервере не происходило событий. Спасибо.
  • Вопрос задан
  • 72 просмотра
Решения вопроса 1
Вот пример такой реализации
https://yourbasic.org/golang/time-reset-wait-stop-...

При каждом получении ненулевых данных от сервера, выполняйте сброс таймера обратно на 2 часа(метод reset) . При наступлении евента таймера - return
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Color
@Color
Golang SWE, Cloud & DevOps
Два варианта: стейтфулл и стейтлесс
- стейтфулл - завести таймер (ссылку давали выше) на два часа, и выходить либо по приходу непустого ответа, либо по таймеру.
- стейтлесс - сохранить где-нибудь время начала, и при каждом пустом ответе читать его и сравнивать с текущим временем, при превышении - выйти. В этом случае нужно добавить хранилище (бд, файл, что угодно), но можно не бояться потерять процесс за два часа и вообще больше гибкости.
Ответ написан
Ваш ответ на вопрос

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

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