Wednesday, February 15, 2012

When to use an timer job rather than a Workflow

A time ago a I have put short and useful note :When to use an Event Handler rather than a Workflow

Now, I want to create another "copy-paste" from one of the book that I m reading (Microsoft SharePoint 2010 Administrator's ) on the topic " Workflow and timer job when to use it":

Timer jobs can be used instead of so called "system" workflow ( that automate processes  that interact with the content and data stored in SharePoint). The major differences between timer job and system workflow:
 - Timer jobs can be activated and managed by farm administrators only;
 - End users can't control execution;

So rule of thumb: If the end users do not need to control the process, then choose timer jobs; otherwise, choose system workflow

  • Does any user interaction occur?
  • Will the process run for a long time (more than a second or two)?
  • Will the process need to pause to wait for another process to complete a task?
  • Will the process be run many times (more than 25 or 30) concurrently?
If the answer is "Yes" for any of these questions, you should build a workflow; if "No" for all, consider an event receiver. There are certainly some exceptions, but in general these rules apply. (Workflow Scalability and Performance in Windows SharePoint Services 3.0)