2009-05-08 3 views
2

Я знаю, что это в значительной степени мнение, но мне интересно, есть ли у вас один и какие у вас причины.У меня есть EXE, который нужно запускать один раз в минуту. Должен ли я делать это как запланированный EXE или Windows Service?

Дубликат: How reliable is windows task scheduler for scheduling code to run repeatedly?

+0

В итоге я написал сервис. Это не сложно, и кажется более стабильным и надежным. – Deane

ответ

5

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

+0

http://www.opensymphony.com/quartz/ - хорошая библиотека планировщика .Net. –

+0

Но это планировщик задач Windows или ваша собственная система? – Mark

+0

@Mark: это моя собственная система, я запускаю службу, и она считывает информацию о планировании из конфигурационного файла, из которого он получает сборку и метод для вызова, когда наступает время. –

0

У меня был один подобный сценарий:

Это было наследие EXE, нужно запустить один раз в минуту с явными учетными данными пользователя, только необходимые для запуска в то время как конкретное приложение был запущен (после того, как пользователь вошел в систему), и нужно было сделать «вчера».

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

Я бы предпочел использовать подход Service.

0

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

0

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

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