У меня есть консольное приложение, которое записывает данные в базу данных через день. Я бы хотел выполнить эту работу только два раза. На данный момент я использую цикл while и проверяю текущее время на временной диапазон, на котором я хотел бы запустить задание. Это требует немного мощности процессора. Есть ли более простой способ сделать это?Подход к запуску/остановке работы в определенное время
While(true)
{
if(current > DateTime.Today.AddHours(6) && current < DateTime.Today.AddHours(20))
{
---DO STUFF
}
}
Но если бы я хотел работу, чтобы работать каждый день с 06:00 до 20:00, то я бы имеют 2 таймера. Один - за время, в течение которого должно выполняться задание, и одно за время, которое должно пройти до того, как задание снова запустится. Это верно? –
@MitchelStuartFountaine, см. Править в ответ, если это помогает. – Rahul
Спасибо за отзыв Рахул. Я использовал диспетчер задач Windows для запуска/завершения консольного приложения. Это убьет процесс, но я изо всех сил пытался его запустить из-за зависимостей. К сожалению, планировщик заданий отсутствует. Я также сделаю это в службу в конечном итоге, поэтому мне бы хотелось, чтобы служба выполняла только работу между указанными моментами. –