locked
TAH Worker Process Restarts at 2 AM RRS feed

  • Question

  • Hello,

    We've been trying to run a load test on the Speech Server. At 2 AM, the Speech Engine sends simultaneous BYE messages for all the active sessions. The Event Viewer shows that the TAH Worker Process stops and starts at exactly 2 AM.

    We have tried changing the registry setting for WorkerProcessRecycleTime in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Speech Server\2.0

    We first changed the setting to \"\" as indicated in the documentation. The Speech Server did not like that. It did accept a blank value but the restart still occurred at 2 AM. We even tried setting it to a different time completed (12:00) but the restart at 2 AM still occurred.

    Is there a way to stop the TAH Worker Process from restarting at 2 AM?

    Thanks,
    Kalpan
    Friday, November 7, 2008 8:36 PM

Answers

  • WorkerProcessRecycleTime controls the Speech Engine Services worker process - SesWorker.exe.  What you're observing is TAH (Telephony Application Host), i.e. w3wp.  This is controlled through IIS Manager as a property on the Speech Server application pool.

     

    However, before disabling process recycling, consider increasing the shutdown timeout.  When a scheduled (or unscheduled, e.g. due to dropping in new code) recycle occurs, existing calls are allowed to finish, however by default ASP.Net only gives them 30secs.  You need to modify your web.config to give them 5 minutes, or whatever value is appropriate for your app.  You also need to make sure that the shutdown timeout for your application pool is 1 minute longer.  The Speech Application application pool is set to 6 mins by default.

     

    Here's the required contents of your web.config to give calls 5 mins to complete:

     

    <configuration>
      <system.web>
        <hostingEnvironment shutdownTimeout="300" />
      </system.web>
    </configuration>

    Monday, November 10, 2008 3:36 PM

All replies

  • WorkerProcessRecycleTime controls the Speech Engine Services worker process - SesWorker.exe.  What you're observing is TAH (Telephony Application Host), i.e. w3wp.  This is controlled through IIS Manager as a property on the Speech Server application pool.

     

    However, before disabling process recycling, consider increasing the shutdown timeout.  When a scheduled (or unscheduled, e.g. due to dropping in new code) recycle occurs, existing calls are allowed to finish, however by default ASP.Net only gives them 30secs.  You need to modify your web.config to give them 5 minutes, or whatever value is appropriate for your app.  You also need to make sure that the shutdown timeout for your application pool is 1 minute longer.  The Speech Application application pool is set to 6 mins by default.

     

    Here's the required contents of your web.config to give calls 5 mins to complete:

     

    <configuration>
      <system.web>
        <hostingEnvironment shutdownTimeout="300" />
      </system.web>
    </configuration>

    Monday, November 10, 2008 3:36 PM
  • Anthony,

    Your answer has been very useful. Thank you.

    I did come across a follow up question. Once we set the grace period to 5 minutes, will the TAH reject all new incoming calls until the recycle happens? Is there a mechanism to let the client know that the server will be unavailable for a certain period of time?

    Thanks,
    Kalpan
    Monday, July 20, 2009 5:51 PM