2011-06-13 64 views
2

在本周末IL的Lisle SharePoint周末,Robert Bogue表示主动和正在运行的工作流程有所不同。我看过网页,但有人可以澄清?主动与正在运行的工作流程

如果我的服务器上有数百万个活动工作流程,为什么我每台服务器只能有15个左右的工作流程?

+0

除了回答你的问题之外,还有什么可以帮助你吗?如果您的问题得到解答,您可以将其标为旁边的复选标记。 – 2011-06-20 09:37:14

回答

1

是的,有一个区别:

  • “运行”工作流程都是目前正在做的事情(即执行的活动)。
  • “活跃”工作流程只是“运行”的所有东西,但目前并没有做任何事情 - 例如,等待OnItemChangedDelayActivity

理解这个的关键是WorkflowEventDeliveryThrottle(这里是SP2007,因为2010年的文档不存在)。这个属性的标准值是15.这意味着只有15个并发工作流可以同时运行。达到此限制后,工作流将排队等待OWSTimer,它在某个任意时间后执行工作流程(我认为工作流计时器作业设置为每5分钟一次)。

该油门可以通过使用stsadm改变(据我所知PowerShell不工作 - 您可以通过课程设置SPWebService.WorkflowEventDeliveryThrottle的代码更改的属性):

stsadm -o setproperty -pn workflow-eventdelivery-throttle -pv "20" 

现在的“运行”的工作流的最大数量(更好的是“可以同时处理的最大工作流事件数量”)将为20.请参阅某人other SO post某人正在玩这个参数。

有一个很好的技术博客文章,了解工作流事件处理:About the “workflow-eventdelivery-throttle” parameter

与节流阀相似的是WorkflowEventDeliveryBatchSize,它表示批次中处理的工作流事件的最大数量。


摘要:

  • 你可以有活跃工作流程成千上万,例如所有等待工作流程项目被更改。他们没有跑步,没有完成 - 只是活跃。
  • 没有可以在同一时间(你把它称为“运行”工作流程)
  • 你也可以有运行工作流程,例如成千上万的被处理的工作流事件的数量有限所有这些可能会被设置为5分钟的延迟活动触发,但其中只有有限的一部分同时运行,其余部分会排队等待以后执行。
相关问题