Какую «платформу» мы должны использовать для компонента-уведомителя? - PullRequest
1 голос
/ 15 июня 2010

Нам нужно разработать компонент уведомителя.Он будет сканировать базу данных с заданными интервалами (скажем, каждые 15 минут), чтобы определить, нужно ли отправлять какие-либо уведомления.

Мы работаем в Windows, и поэтому мымы искали либо службу Windows, либо планировщик задач Windows.

Нашей главной заботой является надежность нашей реализации.Если по какой-то причине происходит сбой, можно ли перезапустить его через следующий интервал?Можем ли мы использовать собственную логику регистрации, чтобы позаботиться о сбоях?

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

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

Заранее спасибо:)

1 Ответ

2 голосов
/ 15 июня 2010

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

Служба Windows

Преимущества

  • Может быть настроен на автоматический перезапуск (см. Свойства службы в приложении панели управления Service Manager)
  • Может бытьнастроен для запуска в контексте другой учетной записи пользователя
  • Может быть запущен удаленно, остановлен
  • Продолжает работать, даже если никто не вошел в систему

Недостатки

  • Требуется повышение прав для установки
  • Работает непрерывно, что может быть полезно или не выгодно

Планировщик задач

Преимущества

  • Может быть настроен для запуска по расписанию по вашему выбору, включая сложные расписания
  • Может быть настроен для запуска в контекстедругая учетная запись пользователя

Недостатки

  • В случае сбоя одного вызова вам придется подождать до следующего вызова или реализовать логику, чтобы соответствующим образом настроить планирование
...