Thursday, August 12, 2010

Custom Timer Job Server

I've just finished a Solution which provides two ways of modifying the Server on which a timer job will run. This solution contains implements Microsoft-unsupported-hacks, but seem to work at this moment.

This solution is realized as a last resort to force (Custom) Timer Jobs to run on a specific server.

The WebApplication Feature `Macaw.Moss2007.TimerJobServerSelectorSolution: TimerJobServerSelectorFeature` should be activated on the `Central Administration` webapplication, which registers a Control Adapter to enable changing the server of the Timer Job. It also copies the "Microsoft.SharePoint.ApplicationPages.Administration.dll" from "_app_bin" to the "bin" folder. And modifies the Trust of the CentralAdmin webapplication.


I also provided an STSADM extension to be able to set the server of a timer job. An example is:
stsadm -o jobserver -url http://cms.website.local -job DependencySpiderJob -server MOSSWFE02
or
stsadm -o jobserver -url http://cms.website.local -job DependencySpiderJob -server



The solution can be downloaded from:
https://mrcl.svn.codeplex.com/svn/Moss2007/Macaw.Moss2007.TimerJobServerSelectorSolution