reason for recovering running workflows?

Jun 25, 2008 at 4:43 PM
Edited Jun 27, 2008 at 4:46 PM
Hi,

I just plugged in the WFTools Oracle persistence and tracking.  Question:  what's the purpose of when Persistence starts up, recovering running workflows? (I understand the loadforexpiredtimers part) I ask this because we need to support our workflow runtime host (it's a windows service) in a farm based deployment.  I need requests to different workflow requests going to different workflow hosts (each host is the windows service with linked in WFTools P&T services, all connected to the same schema).  Wouldnt you want to wait until the request comes in, then manually load the specific workflow (if it's un-owned?)? 

      protected override void OnStarted()
        {
            TraceHelper.Trace();

            try
            {
                base.OnStarted();

                if (this.loadInterval > TimeSpan.Zero)
                {
                    lock (this.timerLock)
                    {
                        this.smartTimer = new SmartTimer(loadWorkflowsWithExpiredTimers,
                            null, this.loadInterval, this.loadInterval);
                    }
                }

                recoverRunningWorkflows();