TFS4JIRA Self-Hosted | The synchronization process stops running and you have to revisit TFS4JIRA configurator page to get it running again.

By default, an IIS application pool (or “AppPool”) recycles on a regular time interval of 1740 minutes or 29 hours.

Users may notice that after such recycle, sync does not run until TFS4JIRA configurator page is opened. Please follow the below 4 configuration corrections in order to minimize this situation.

 

  1. Add IIS feature called. Application Initialization
    As of IIS 8 Application Initialization is part of the IIS feature set. For IIS 7 and 7.5 there's a separate download available via Web Platform Installer. Using IIS 8 Application Initialization is an optional install component in Windows or the Windows Server Role Manager:

  2. Open IIS MANAGER (command: inetmgr)

  3. Go to Application Pool section

    1. right-click TFS4JIRA application pool (default name: TFS4JIRA Sync App Pool)

    2. choose ADVANCED SETTINGS

    3. please set: Start Mode to AlwaysRunning

    4. please set: Idle Time-out (minutes) to 0

    5. click OK to confirm changes

  4. Expand Sites and Default Web SIte (please note: this is default TFS4JIRA installation site, you may have a different configuration)

  5. Right-click TFS4JIRA application (default name: tfs-jira-synchronizer)

    1. go to MANAGE APPLICATION → ADVANCED SETTINGS

    2. please set: Preload Enabled to True

     

  6. As a final step please restart your site (site where TFS4JIRA application is installed)

  7.  


Getting started with Application Initialization

As of IIS 8 Application Initialization is part of the IIS feature set. For IIS 7 and 7.5 there's a separate download available via Web Platform Installer. Using IIS 8 Application Initialization is an optional install component in Windows or the Windows Server Role Manager:

 

WORKAROUND (optional when above failed)

That situation where Synchronizer stops processing after application pool recycle is the standard behavior of IIS 7.0, not an error or issue. The site only comes into memory on first access and that usually takes longer than subsequent access.

The solution or rather a workaround. is to create a scheduled task on event id 1033 with a simple command:

powershell -Command "Invoke-WebRequest http://localhost:8081"

running from the SYSTEM account.

Please of course remember to enter your synchronizer address and port.

 

DISABLE APPLICATION POOL AUTOMATIC RECYCLING

  1. Open IIS MANAGER (command: inetmgr)

  2. Go to Application Pool section

  3. Right-click TFS4JIRA application pool

  4. Choose Recycling …

  5. Clear any fixed intervals setup