Способы выполнения запланированных задач - Windows / .NET - PullRequest
1 голос
/ 22 июля 2011

Моя проблема довольно проста.У меня есть приложение, которое должно выполняться автоматически один раз в день.У меня нет опыта работы с подобным сценарием (некоторое время назад я работал с IBM Control-M, но думаю, что он более полный, сложный и дорогой =))

Я подумал о двух возможных решениях:

  • Создание задачи в планировщике задач Windows, которая будет выполнять приложение;
  • Реализация приложения в виде службы Windows, которая будет работать 24/7, но будет выполнять только необходимые действия в зависимости отна текущий момент.

Каковы преимущества / недостатки каждого подхода?

Есть ли другой способ сделать это?

Заранее спасибо.

Ответы [ 4 ]

5 голосов
/ 22 июля 2011

Если это выполняется только один раз в день (или около того), то просто сделайте это как обычное приложение командной строки, которое выполняется планировщиком задач Windows.В планировщике задач уже есть весь пользовательский интерфейс, необходимый для определения момента запуска программы, передачи параметров и всего, что связано с планированием задачи.

Единственная реальная причина для выполнения этого типа функции в качествеСлужба Windows, если требуется более высокое разрешение выполнения, чем раз в минуту.Тем не менее, основным недостатком службы Windows является то, что вам придется управлять логикой того, как часто / когда она запускается.Другое - приложение всегда работает, что оставляет возможность утечки памяти, если у вашего кода есть проблемы.

1 голос
/ 22 июля 2011

В Unix / Linux вы будете использовать расписание заданий cron для выполнения задачи.Версия MS Windows называется Task Scheduler , и она уже a service that run 24/7 and performs the needed actions depending on the time.

Создайте повторяющуюся задачу с помощью Task Scheduler для запуска вашего приложения.Создание, установка и настройка приложения-службы не совсем тривиальны.Это гораздо более сложный процесс, чем создание стандартных форм или приложений командной строки, и вам все равно не нужно это делать.

0 голосов
/ 22 июля 2011

Другая библиотека, которая может представлять интерес: Quartz.NET

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...