2015-09-14 5 views
1

Привет У меня есть Служба Windows в C#. Внутри моей службы Windows мне нужно запустить процесс по определенным часам hh: mm: ss.Лучший способ запуска в определенные часы

Например мне нужно запустить процесс по адресу:

  • 09:50 часов
  • 11.45 часов
  • 15:15 часов
  • 22:05 HRS

(Эти часы могут измениться, поэтому Im думает о хранении данных в XML-файле)

Прямо сейчас у меня был таймер с интервалом 6 часов, поэтому каждые 6 часов процесс выполнялся. Теперь это требование другое. Мне нужно работать по определенному графику.

Также мне было предложено добавить опцию, с помощью которой служба Windows может запускать процесс в течение каждого часа X и Y минут.

Любой ключ, как я могу это кодировать?

Спасибо.

+2

Какой ответ вы ищете здесь? Что-нибудь другое, кроме "* использовать таймеры *"? – Amit

+0

Я хотел бы знать, как лучше всего проверить эти часы. Я думал о том, чтобы установить таймер на 1 интервал в 1 секунду, а затем проверить, час ли час машины, а затем выполнить его. – VAAA

+0

Это звучит неплохо. – Amit

ответ

1

Зачем изобретать колесо? Просто используйте диспетчер задач Windows, чтобы запустить процесс.

Если вы хотите настроить планировщик задач из вашего кода, вы можете использовать Managed Task Scheduler Wrapper

2

Еще один хороший способ может использовать Quartz

Quartz.NET
Quartz.NET является полнофункциональную систему планирования вакансий с открытым исходным кодом, которая может использоваться от небольших приложений до крупных корпоративных систем. .

Планирование заданий в кварце
Работа планируется запустить при возникновении заданного триггера. Триггеры могут быть созданы с помощью практически любой комбинации следующих директив:

  • в определенное время суток (до миллисекунды)
  • в определенные дни недели
  • в определенные дни месяца
  • в определенные дни года
  • не в определенные дни, перечисленные в зарегистрированном календаре (например, бизнес-праздников)
  • повторяется определенное количество тим эс
  • повторяется до определенной даты/времени
  • повторяется до бесконечности
  • повторяется с интервалом задержки
+1

Просто пришел, чтобы порекомендовать это. –

Смежные вопросы