Как мне запустить фоновый сервис для создания файлов экспорта для веб-сайта в мире Windows?

2

Я создал блестящий новый сайт ASP.Net MVC, и я выгрузил функцию "сохранить как" в вспомогательную программу, которая может выполняться в фоновом режиме на сервере, чтобы веб-сайт не нуждался в возьмите всю эту нагрузку.

Я создал его так, чтобы он легко запускался из командной строки, и сейчас я его запускаю из планировщика окон. Проблема заключается в том, что она имеет степень детализации 1 минута, а это означает, что некоторые неудачные пользователи сайта нажмут на ссылку и получат 59s wait + время для фактического обработки отчета.

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

Как вы с этим справились?

Теги:
asp.net-mvc
iis

1 ответ

2
Лучший ответ

Я бы создал службу Windows и выполнял этот запуск вместо exe через планировщик окон. Затем вы можете настроить его на автоматический запуск. Тогда вы можете просто иметь таймер в службе для опроса для работы каждые х секунд.

Другая альтернатива - использовать что-то вроде MSMQ. Ваш внешний интерфейс просто вставлял сообщение в очередь для представления работы, а затем должен был обслуживать службу .NET в очереди (вы можете заставить ее обрабатывать сообщения сразу же, как они появляются в очереди, или самостоятельно проверять очередь вручную х секунд).

В любом случае, я думаю, что Windows Service - это путь.

  • 0
    +1; Вы можете поместить свой запрос пользователя в эту очередь MSMQ, обработать его и уведомить своего пользователя по электронной почте; это письмо может содержать ссылку на файл вашего процесса, помещенный в папку веб-сервера.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню