@OwDafuq

Hangfire, как поставить все сервера на паузу?

Какой механизм есть у Hangfire, чтобы поставить на паузу все сервера (или 1, который сам будет следить за тем, что ему пора встать на паузу)?

Например: у нас есть сервис, к которому обращаются 5 hangfire серверов (отправляют http запросы), но неожиданно сервис упал на N минут и уже нет смысла отправлять туда запросы какое-то время.

Как поставить сервера на паузу, чтобы они выждали, условно говоря, 2 минуты, а потом продолжили отправлять запросы?

Единственное, что нашел: IBackgroundProcessingServer.SendStop, но Resume или Unpause нет.

В том же Quartz.NET есть scheduler.PauseAll() и scheduler.ResumeAll()

UPD: Найдено решение для 1 сервера: через JobStorage и GetMonitoringApi() + DeletedJobs(0, int.MaxValue), а затем добавить удаленные обратно, но решение не пойдет для 2+ серверов
  • Вопрос задан
  • 52 просмотра
Пригласить эксперта
Ваш ответ на вопрос

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

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