запланированное задание или служба windows - PullRequest
10 голосов
/ 22 сентября 2009

У моей команды есть спор, который лучше: служба Windows или запланированные задачи. У нас есть сервер, предназначенный для выполнения заданий, и в настоящее время они являются запланированными заданиями. Некоторые задания принимают файлы, переименовывают их и помещают в другие каталоги в сети. Другие задания извлекают данные из SQL, изменяют их и отправляют в другое место. Другие задания ftp файлы вышли. Разнообразия много, но в целом они довольно просты.

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

Ответы [ 4 ]

6 голосов
/ 22 сентября 2009

Если он работает постоянно - служба windows.

Если его необходимо запускать с разными интервалами - запланированное задание.

5 голосов
/ 07 января 2013

Запланированное задание -

  1. Когда действия должны выполняться по некоторому фиксированному / предопределенному расписанию.
  2. Требуется меньше памяти и ресурсов ОС. 1008 * Не требуется установка.
  3. Может иметь пользовательский интерфейс (например, отправлять напоминания по умолчанию неплательщикам)

Служба Windows -
  1. Когда требуется продолжение мониторинга.
  2. Заносит ОС, потребляя больше.
  3. Требуется установка / удаление при изменении версии.
  4. Нет интерфейса вообще (например, обрабатывать почту, как только она прибывает)

Используйте их с умом

4 голосов
/ 22 сентября 2009

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

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

Я думаю, что это изобретать колесо

2 голосов
/ 22 сентября 2009

Хотя в использовании планировщика заданий нет ничего плохого, он сам по себе является службой. Но у нас есть те же требования, что и у меня, и у нас есть программа общего назначения, которая выполняет несколько из этих работ. Я интерпретировал ваш пост так, что вы будете запускать отдельные сервисы для каждой задачи, я подумал бы о написании единой, управляемой базой данных (сервисной) программы для выполнения всех ваших задач, и поэтому, когда вы добавляете новую, это просто рутинная работа по вводу данных, а не совсем новая прога для записи. Если вы практикуете контроль изменений, эта разница может быть значительной. Если у вас есть более чем несколько задач, усилия могут быть совместимы. Этот подход также позволит вам создать механизм каротажа, наиболее подходящий для ваших операций.

Это часть нашего документа требований к нашей программе задач, чтобы дать вам представление о том, с чего начать:

  1. Эта программа должна управляться базой данных.

  2. Он должен работать как служба Windows.

  3. Программа должна иметь возможность обрабатывать «задания» следующим образом:

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

  5. Задания должны иметь возможность скопировать файл из источника в целевое местоположение или

  6. Скопируйте файл из источника в промежуточное местоположение, выполните «обработку», а затем скопируйте исходный файл или результат «обработки» в целевое местоположение или

  7. Скопируйте файл из источника в место размещения, выполните «обработку», и обработка будет конечным результатом.

  8. Источники и места назначения, в которые могут копироваться задания, могут быть разными: UNC, SFTP, FTP и т. Д.

  9. «Обработка» может быть шифрованием / дешифрованием файла, анализом файла данных для правильного формата, передачей файла на мэйнфрейм с помощью эмуляции терминала и т. Д., Обычно реализуемым путем вызова параметров командной строки с передачей параметров. в .exe

  10. Рабочие места должны быть в состоянии убирать за собой, по мере необходимости. удалить промежуточные или исходные файлы, скопировать файлы в папку архива и т. д.

  11. Программа должна иметь возможность определять успех и неудачу каждого этапа задания и предпринимать соответствующие действия, которые будут вести протоколирование и, возможно, другие уведомления, прерывать дальнейшую обработку при сбое и т. Д.

  12. Задания должны быть настроены на активацию в определенное установленное время или через определенные промежутки времени (необязательно в определенные заданные часы), то есть каждые 15 минут с 9:00 до 5:00.

  13. Для добавления новых заданий необходим пользовательский интерфейс.

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

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

Все это основано на предпосылке, что вы пишете свое собственное программное обеспечение. На рынке также есть несколько программ для планирования задач предприятия. Покупка с полки может быть лучшим решением для вас.

...