Login

Configuring and understanding the scheduler

Versions: n/a, FAQ number: 72, Old FAQ number: 1048

The "old" scheduler (episerverscheduler.exe), only used before EPiServer 4.10

The old scheduler will remain in 4.10+ but it will not install or upgrade itself unless there is a older version of this service installed. The old scheduler has been renamed to "EPiServer Scheduler Pre 4.10 Support" to avoid naming collitions. The old scheduler is working against table tblScheduledTask which is the same table used by EPiServer 3, on upgrade to 4.10 all .NET jobs will automatically be transfered to a new table tblScheduledItem. This old scheduler will not run jobs in EPiServer 4.10+ installations, they will be ignored.

When all sites have been upgraded to 4.10 you can uninstall the old service by opening a command prompt and entering:

installutil.exe /u episerverscheduler.exe

If you by some reason need to reinstall the old scheduler you must pass a special parameter "forceinstall", otherwise it will determine that there are no older version of this service installed that need to be supported:

installutil.exe /forceinstall episerverscheduler.exe

The new scheduler (episerver.schedulersvc.exe), used in EPiServer 4.10 and later

The new scheduler will automatically be installed in "Program files\EPiServer.Scheduler" and have no longer a dependency to the local bin directory of the web application. If you need to install this service manually you open a command prompt and enter:

installutil.exe episerver.schedulersvc.exe

Note! Dates in tblScheduledItem are stored in UTC time and not local time.

Note! The information in tblScheduledItem regarding subscription jobs should be changed from version 4.20. The column MethodName for the row with TypeName='EPiServer.Personalization.SubscriptionJob' should be changed from 'Main' to 'Execute'. If you have done a manual update this change has most likely not been done.

What is the difference between the old and the new scheduler

* The old version ran from the bin directory of the web site with the latest version of EPiServer and was very sensitive to upgrades and uninstallations. The new service runs from a global directory in "Program files".
* The new version is passive, EPiServer sites registers themself with the service on startup instead of the scheduler searching for installations with special criterias which could be error proune.
* The new version only handles scheduling(no database connection!) and calls into the web application using named pipes to get, execute and report jobs. The old service handled the database connection itself and loaded assembly's dynamically.
* Web sites communicates to the scheduler when they start and stop giving it full control of active sites, if a site stops to respond the scheduler will try to connect to the site using http to get it up and running again.
* The new scheduler supports both scheduling serialized objects and calling into static methods, both on a given interval or on a specified date.

EPiTrace logger