Previous issues with workflow,CodeGenerally, it will run in owstimer, So I naively think that all workflows are running in the owstimer process.
On Tuesday, the customer analyzed a workflow problem in SharePoint 2010 installed on Windows 7, and caught the owstimer TTT dump back.
After obtaining the code, we can see that the methods in the customer's Code have never been executed.
The suspect is that workflowis not executed in w3wp.exe. In the customer's environment, use vs2010 to set a breakpoint and then start workflow. Note that the attach of the workflow development process in sps2010 is automatic.
When the breakpoint enters, check the attach process in vs2010. The result is w3wp.exe.
Well, I think SharePoint has a solid foundation. I have planted a sweat on this issue ~
In this case, why does workflowactually run in w3wp.exeand owstimer.exe?
Paul Andrew from Microsoft's product group gave the following answer:
Workflow instances in SharePoint run in either the sptimerv3.exe process or the w3wp.exe process. which one an instance runs in at any participant time depends on what the most recent waiting activity. if the workflow starts as a result of a user interactive operation or if it restarts after waiting for a user activity which is Web Oriented, then the workflow instance will be executing on the w3wp.exe process. if the workflow instance restarts as a result of a delay activity (some timeout) then it will be running on the v3timer.exe process.
I recommend you use the Visual Studio 2008 built in SharePoint workflow template and have Visual Studio 2008 and SharePoint 2007 on your development machine. this avoids most of the complexities with debugging workflow in SharePoint as Visual Studio 2008 will take care of it.
Alternatively, you can use Visual Studio to attach to both processes to do your debugging and it will work just fine.
Workflow instances running on your site lists doNotRun on your central admin process.
Translation:
Workflowcharts in pointrun in owstimer.exe and w3wp.exe. at a specific time point, the process in which a workflow instance runs depends on the last wait action (activity ). if workflow is started due to a user interaction, or it waits for a user's action to restart (basically web interactive), workflowcharts will run in the w3wp.exe process. if the workflow instance is restarted due to a delayed action (delay activity) (such as timeout), it will run in owstimer.exe.
Note the propertyvalue of the workflow-eventdelivery-Throttle attribute of stsadm:
A valid integer. for example, if the value is set to 15, 15 workflows are active in memory, and the sixteenth workflow automatically starts. the auto-start will be sent to the timer service to be processed later.
The default value is 15.
That is, if the number of throttle values in the workflow started in web interactive mode is exceeded, the excess will be run in the owstle.
Alas, a small problem is so tangled. However, the research here has come to an end.
Reference
==============================
In which process to SharePoint 2007 workflows run?
Http://stackoverflow.com/questions/371657/in-which-process-to-sharepoint-2007-workflows-run
Workflow-eventdelivery-throttle: stsadm property (Windows SharePoint Services)
Http://technet.microsoft.com/en-us/library/cc287939%28v=office.12%29.aspx