I have written a custom timer job that should only run on one server in the farm. The constructor is as follows:

public class MyCustomTimerJob : SPJobDefinition {

public MyCustomTimerJob () : base() { }

public MyCustomTimerJob (SPWebApplication webApp)
: base("CustomJobName", webApp, null, SPJobLockType.Job)
    this.Title = "CustomJobName";

I schedule the job with the following code:

SPDailySchedule schedule = SPDailySchedule.FromString("daily at 6:00");

MyCustomTimerJob job = new MyCustomTimerJob(webApp);
job.Schedule = schedule;

When I look at the Scheduled Jobs in Central Admin, it shows the job scheduled to run on all 3 WFE servers. I expected it to only be scheduled on a single server since the lock type is SPJobLockType.Job.

When the scheduled time comes, the job does not run and I don't see anything in the ULS logs.

Of course this is a new production deployment and the issue cannot be reproduced in the test or dev farms.

Any suggestions?

1 Answer 1


As you can see here: http://manomangaldas.blogspot.be/2008/06/sharepoint-job-spjoblocktype-which-one.html

even if you see the job scheduled on all WFE, actually it will run on single server (one instance) when Lock Type is Job.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.