@Bodden

Как правильно организовать выполнение программы по времени?

Здравствуйте.
Подскажите пожалуйста как запускать программу каждые 15 мин. в цикле?
На данный момент рассматриваю только вариант
Thread.Sleep
Сомневаюсь, правильно это или нет? Возможно в NET существуют какие то другие решения?

Спасибо.
  • Вопрос задан
  • 68 просмотров
Решения вопроса 1
AshBlade
@AshBlade Куратор тега C#
Просто хочу быть счастливым
Для начала, что значит каждые 15 минут:
  • между соседними выполнениями
  • между началами запуска


В первом случае просто: вынести логику в отдельную функцию и после каждого запуска засыпать.
Во втором случае надо замерять длительность выполнения: перед запуском сохраняешь время, а после получаешь конец и засыпаешь на оставшееся время

На счет Thread.Sleep - это ок, но если код асинхронный, то используй Task.Delay
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Mike_Ro
@Mike_Ro
Python, JS, WordPress, SEO, Bots, Adversting
На данный момент рассматриваю только вариант
Thread.Sleep

Thread.Sleep блокирует текущий поток, что может быть неэффективным и привести к проблемам, если поток должен выполнять другие задачи.
Подскажите пожалуйста как запускать программу каждые 15 мин. в цикле?

Цикл обязательно? Может Cron? Либо PeriodicTimer с методом WaitForNextTickAsync, который ожидает следующий тик таймера и возвращает true, если тик произошел, и false, если таймер был отменен.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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