2016-08-15 5 views
0

Я пытаюсь построить планировщик, вот функции, которые я хочу достичь:Выполнение больших объемов жизненной фоновой задачи в ASP MVC?

  • около 100+ задач с переменным время выполнения в зависимости от графика
  • будет повторно выполняться задача через 5 минут, если начальное выполнение завершилось с ошибкой.

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

Любые хорошие библиотеки/методы, которые позволят мне достичь того, что я хочу?

+2

Вам не нужен сервис Windows, а не приложение mvc? Возможно, некоторые вещи, сделанные внешним интерфейсом MVC, заставят сервис делать что-то, но для фоновой автоматизации вы должны передать сервис. – ADyson

ответ

1

Hangfire является одним из отличных инструментов для выполнения фоновых процессов. И теперь, когда я использовал его в своем приложении, я большой поклонник этого.

Его очень легко внедрить и поддерживать. Его можно легко масштабировать, можно размещать в любом типе типа .net, и это управляемая библиотека .net.

Более того, он открыт с открытым исходным кодом и имеет право использовать его. (имеется и версия Pro также доступна для дополнительной функции)

И это наиболее привлекательная функция - это панель приборов для мониторинга и полный контроль над заданиями.

+0

Хорошо, я думаю, я буду использовать это вместо того, чтобы кататься самостоятельно. –

2

ASP.NET не подходит для такого рода задач, вместо этого вы, вероятно, будете лучше использовать службу Windows для выполнения запланированной работы.

Вместо того, чтобы изобретать колесо, чтобы построить планировщик, или отвод вокруг раздражающих проектов окна обслуживания, которые почти невозможно, на отладку и работают, я бы рекомендовал смотреть на Topshelf и изящные Topshelf.Quartz проектов; последний предназначен специально для планирования.

Topshelf берет на себя заботу о строительстве, отлаживании и установке услуг Windows, это отличный способ спуститься на такие вещи!


Обратите внимание на кварце

Кварц не является полностью необходимым для компонента планирования здесь, тем более, что, вероятно, будет что-то еще, чтобы узнать; вы всегда можете просто встать на таймер в своей службе, в зависимости от того, насколько сложны ваши требования к планированию, но Quartz с Topshelf позаботится о большом количестве вещей для вас!

Смежные вопросы