Я программист, разрабатывающий решение возникшей у нас проблемы. Я думал о написании приложения и использовании запланированных задач Windows для его запуска один раз в день или около того, в отличие от написания службы, которая большую часть времени спит и просыпается один раз в день, чтобы сделать это. Но мой вопрос: обычно ли администраторы используют запланированные задачи Windows?
Приложение будет удалять старые файлы, которые мы генерируем и не можем очистить никаким другим способом (по уважительным причинам).
Вот как я решаю ...
Сервисы предназначены для постоянного выполнения «постоянных» операций.
Дела по расписанию предназначены для выполнения отдельных единиц работы через запланированные интервалы (что вы хотите). На самом деле, Scheduled Tasks уже являются сервисом.
Не создавайте сервис, который дублирует функциональность запланированного задания. :)
Я согласен с другими в том, что запланированные задачи будут соответствовать вашим потребностям. Я бы добавил (как сам программист), что в качестве запланированной задачи либо есть некоторые Вам будет выслано своего рода подтверждение (электронная почта?), что задача выполнена успешно, и / или добавить результаты в файл журнала где-нибудь для возможного устранения неполадок. Если вам нужно, то создание отчетов / журналов / аудита всегда пригодится.
Я бы сказал, что для такой ежедневной операции вполне подойдут запланированные задачи. Я использую их по разным причинам в нашей сети. Наличие нескольких запущенных служб, даже если они большую часть времени простаивают, по-прежнему использует некоторые системные ресурсы. Сервисы, IMHO, должны использоваться для вещей, которые должны работать непрерывно, чтобы своевременно реагировать на события или общаться с другими сетевыми сервисами по мере необходимости.
Как и многие вопросы, задаваемые разработчикам решений, это зависит от обстоятельств. Нет ничего плохого в использовании запланированных задач, и до тех пор, пока любое решение, которое вы разрабатываете, четко указывает в документации, что и как вы что-то делаете, у вас все должно быть в порядке. Есть преимущества для запуска чего-то в качестве службы, например, возможность написать сценарий решения для неадминистратора, чтобы запустить службу, если они не знают, как использовать консоль services.msc. Или даже возможность контролировать указанную службу через Powershell или программу сетевого мониторинга, такую как What's Up Gold. С помощью запланированной задачи вы можете запускать свою программу по расписанию, которое вы выберете, но вы также можете добавлять аргументы (что вы также можете делать с сервисами технически), но вы можете сделать это в удобном формате графического интерфейса. Опять же, все, что вы решите, проще всего и наиболее полезно для вашей ситуации.
Единственная проблема с запланированными задачами заключается в том, что если у вас есть более чем несколько машин для управления, очень легко потерять из виду, что и где. В этот момент вам нужно раскошелиться на программу управления задачами ...
Еще одно соображение будет заключаться в том, будет ли машина / пользователь оставаться в системе или нет. Вы можете протестировать каждый сценарий с каждым вариантом в зависимости от требуемого решения.