Quartz scheduler does not execute task after reusing application pool (.Net)

We have an intranet application hosted on IIS 8.0.

We have several web methods available that need to be done at specific times.

So, we used the Quartz scheduler to schedule a job to execute web methods. In the Application_Start event for global.asax, we wrote the code to start the scheduler.

To maintain the scheduler and start the application pool, it must always be running, so we set the startMode = "AlwaysRunning" property, and the application must also be running, so we set the application property preloadEnabled = "True".

We recycle the application pool every 1740 minutes (29 hours, default time).

This raises the question:

If I have work scheduled at 3:00 am in the morning. My application pool is operational.

I viewed the app at 6:00 pm, one day ahead of schedule.

According to the recycling time, my application pool was reworked at 2:00 am and until 3:00 am my application was not pinged, but my application pool was operational.

When the application pool is recycled, the application pool will start again (due to the startMode = "AlwaysRunning" property), but the process ID if this worker process is different.

Due to the utilization of the application pool, the pool did not complete the task on schedule. If I view the application after disposing of the application pool, then quartz will execute the task according to the schedule.

Can anyone help me on this as soon as possible?

Thanks in anticipation.

+3


source to share


1 answer


If your IIS 8.0 is running on Sever 2012 OS, you need to enable Application Provisioning.
Please visit this link for more information.
Only after the added function will the "preloadEnabled =" True "property be effective.
Please let me know if you encounter this problem on any other OS. Hope it helps.



+3


source







All Articles