title: What is the best way to implement scheduling in asp.net MVC
body: <p>I have an asp.net MVC web application that requires tasks to be scheduled. <em>(A large chunk of functionality is scheduled)</em> <br/>
  I am using Quartz.net as my scheduler and am currently running it as a windows service. <em>Clustering to handle load and performing resource intensive tasks out of peak hours</em></p>
  
  <p>The problem I face is to be able to schedule all the required functionality I have to include everything in the scheduler service including all  assemblies and most of the mvc base ( e.g using the MVC views to generate email reminder templates ) so the service becomes a duplication of the  web application with lots of additional code to make it play nice. This is becoming a bit of a nightmare.</p>
  
  <p>So I can?</p>
  
  <p><strong>1) Configure the scheduler to work within asp.Net MVC.</strong><br/></p>
  
  <p><strong>2) Use a Widows service that calls the required web page.</strong><br/></p>
  
  <p><strong>3) Use current service design.</strong><br/></p>
  
  <p>my preference is  probably #1  as this will resolve all of the above issues but the web app will get recycled/stopped if there is no activity for some time, This means that scheduled jobs may not be executed (only if there was some activity around the time when the job should be run).
  <a href="https://stackoverflow.com/questions/3245975/quartz-net-setup-in-an-asp-net-website">Quartz.net setup in an asp.net website</a> </p>
  
  <p>Any thoughts/suggestions as to which is the best approach or any alternatives?</p>