41

In IIS7, the processModel.idleTimeout property can be set in an application pool. A worker process will shut down after this specified period of inactivity.

However, I use Application_Start to run a number of jobs. If there is no visitor to the website the jobs would be disposed and will not run on time.

In IIS 7, the Regular Time Interval (periodicRestart), that specifies when process recycling happens, must be bigger than the idleTimeout.

Is it safe enough if I set larger values for the idleTimeout and periodicRestart?

Kev
  • 118,037
  • 53
  • 300
  • 385
Edwin Tai
  • 1,224
  • 1
  • 13
  • 19

1 Answers1

62

In order to avoid my application exiting and to be on the safe side, I have configured the idleTimeout to 0 (infinity) and periodicRestart to the default value (1740 minutes).

After a few days working with this configuration, I haven't found problems so far. The application doesn't quit and it is quite safe that after 1740 minutes it will restart.

Victor M.
  • 1,004
  • 8
  • 10
  • 11
    Seconded... You could also set a fixed nightly restart (2am) instead of the default 29 hour interval. :) – JohannesH May 24 '13 at 10:53
  • I can't get it working. I set idleTimeout to 0, yet IIS unloads my ASP.NET application after about 10 minutes. Users complain that the first time they visit the website it takes about 20 seconds to see it. Following requests take no time (like 1-2 secs) at all. – Azimuth Dec 16 '15 at 08:26