In the SharePoint 2010 Central Administration – Running Jobs were showing with an incorrect percentage (half what it should have been).
Debugging showed that the job was running twice. Searching for why TimerJobs might be running more than once I found that the job’s Lock Type is important. Could find no documentation to support my theory below.
- The Percentage complete reported in “Central Administration” –> “Running Jobs” is the value set via UpdateProgress (in my code) divided by the number of Content Databases in the WebApp.
Turned out we had an orphan Content Database, which is why the job was running twice.
The Job Lock type of our job is set to SPJobLockType.ContentDatabaseJob, if you want the code to run ONLY once use SPJobLockType.Job
See documentation on MSDN for all possible values of this enumeration.
Deleting the orphan Content Database solved my issue.