Как реализовать ночной процесс в .NET? - PullRequest
6 голосов
/ 03 февраля 2011

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

Эти задачи включают, в порядке, запрос к базе данных, перемещение, а затем переименование некоторых изображений и обновление таблицы базы данных. Моей первой мыслью было создание задания SQL Server и использование xp_cmdshell для перемещения файлов, но после небольшого исследования я решил отказаться от него..NET-приложение?Должен ли я создать службу Windows?Консольное приложение, которое планируется запускать раз в ночь?Какой-нибудь другой крутой способ, о котором я даже не знаю?

Ответы [ 5 ]

10 голосов
/ 03 февраля 2011

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

6 голосов
/ 03 февраля 2011

Крутой способ, которым вы ищете, это Quartz.NET . В основном это cron-задания для .NET.

3 голосов
/ 03 февраля 2011

Обычно я делаю такие вещи как запланированное задание. Если это консольное приложение .Net / C #, не пишите в Console.Out или Console.Error (запланированные задачи выполняются практически без заголовка). Вместо этого используйте log4net и настройте appender для записи в файл журнала. Вы настраиваете другого приложения для регистрации ошибок в журнале событий Windows.

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

2 голосов
/ 07 сентября 2011

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

1 голос
/ 03 февраля 2011

Я делал это только с помощью планировщика задач, который работал на сервере, с которым я работал.Я просто настроил его запуск в произвольное время между 11:30 и 12:30.Идея Келлоти, вероятно, гораздо более впечатляющая.

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