.NET: задание Cron с продолжительностью

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

Но пока я думаю об этом, у меня возникают некоторые вопросы:


1) Что мне делать с приложением Cron?

a) Консольное приложение, которое при запуске извлекает все файлы и выполняет их (устанавливая это приложение для запуска каждый день)? Или..

b) консольное приложение, которое использует Quartz.NET или какой-либо планировщик, подобный этому, и оставляет его всегда работающим, чтобы каждый день выполнять задание cron?


2) Что мне делать, если я хочу запустить cron, например, только на 3 часа?

У нас будет большой объем файлов для обработки, поэтому возможно, что для их обработки потребуется много времени. И я не хочу, чтобы приложение cron работало в рабочее время, потому что компании будут много использовать веб-сайт для отправки файлов, и база данных может не справиться с этим. Я хотел бы, чтобы приложение cron работало, например, с 3:00 до 6:00. Как это сделать?


3) Как я могу отключить веб-сайт, когда запущено приложение cron?

Я имею в виду, для показа чего-то вроде веб-страницы html, которая говорит: «Мы обрабатываем файлы прямо сейчас, попробуйте еще раз в 6 утра»


Я был бы очень признателен за любой опыт, любой совет, любую статью для чтения чего-то связанного и т.д.


person ascherman    schedule 12.05.2015    source источник
comment
Планировщик задач Windows делает большую часть этого - вы можете ограничивать задания по времени. что касается закрытия сайта, то это может сделать сама работа. например shut_down_site(); process_stuff(); if (done or time limit reached) { start_site_again(); }   -  person Marc B    schedule 12.05.2015
comment
Не могли бы вы сказать мне, как я могу установить работу с ограничением по времени? Потому что я не могу его найти... И как мне сделать метод shutdown_down_site()? Я не знаю, как я могу сделать из одного приложения, чтобы другое было отключено...   -  person ascherman    schedule 12.05.2015
comment
планировщик задач -> создать задачу -> настройки -> остановить задачу, если она выполняется дольше, чем   -  person Marc B    schedule 12.05.2015
comment
Прочтите это. Вам может не понадобиться Quartz.NET, если ваше требование простое.   -  person Nick Patsaris    schedule 13.05.2015