Visual studio 2010 延迟活动不总是在Sharepoint 2010工作流中工作

Visual studio 2010 延迟活动不总是在Sharepoint 2010工作流中工作,visual-studio-2010,sharepoint,workflow,workflow-foundation,delay,Visual Studio 2010,Sharepoint,Workflow,Workflow Foundation,Delay,目前,我们在sharepoint 2010中有一个具有延迟活动的连续工作流 延迟设置为五分钟。工作流检查五个任务的状态,并根据结果延迟或完成 我将工作流历史记录日志项设置为在延迟之前和延迟之后写入 有时延迟不会触发,示例如下: 延迟活动在一个项目上每五分钟触发一次,持续3整天,然后在17小时内无特殊原因无法唤醒…然后触发并完成 有什么想法吗?我已经验证了所有的定时器服务是否正常运行等 另一件奇怪的事情是,可以有20个工作流项目运行,只有4或5个会有这个问题,这似乎是完全随机的 另外:如果我更改了

目前,我们在sharepoint 2010中有一个具有延迟活动的连续工作流

延迟设置为五分钟。工作流检查五个任务的状态,并根据结果延迟或完成

我将工作流历史记录日志项设置为在延迟之前和延迟之后写入

有时延迟不会触发,示例如下:

延迟活动在一个项目上每五分钟触发一次,持续3整天,然后在17小时内无特殊原因无法唤醒…然后触发并完成

有什么想法吗?我已经验证了所有的定时器服务是否正常运行等

另一件奇怪的事情是,可以有20个工作流项目运行,只有4或5个会有这个问题,这似乎是完全随机的

另外:如果我更改了工作流项目,导致工作流重新运行,则延迟活动将在下一个5分钟周期中唤醒

更新:我在我的错误日志中发现一个错误,当延迟未能唤醒时会发生

Workflow ID=07acf527-d5cb-41c7-a8e4-58329652dc53 attempting to run on a thread currently executing workflow ID=fe2d7670-7d3e-4e6a-b024-0cc3485aa73b.  This workflow will be run at a later time.
更新:显然这是因为延迟的工作流是从另一个工作流以编程方式启动的。这将导致在同一线程中启动第二个工作流。有人知道如何以编程方式指定新线程吗

更新2:我将一些工作流设置为延迟5分钟运行,以查看睡眠周期是否有任何模式。工作流每隔5分钟睡眠约6小时,然后计时器开始按如下方式递增 5分钟 15分钟 45分钟 1.5小时 3小时 6小时 12小时


看起来延迟计时器在很大程度上增加了一倍。我相信MS可以解决这个问题,我有大量的日志和示例。

这个问题已经解决。我忘了把决议贴出来

需要修改三个设置。工作流控制、工作流批处理和隐藏的工作流计时器

您可以通过运行以下命令来检查当前油门设置:

stsadm-o getproperty-pn 工作流事件交付节流阀

这是我的新设置:

stsadm-o setproperty-pn 工作流事件交付节流阀-pv “45”

通过运行以下命令,可以检查当前批次大小设置:

stsadm-o getproperty-pn workitem eventdelivery批次大小

这是我的新环境

stsadm-o setproperty-pn workitem eventdelivery批次大小-pv “250”

您可以通过运行以下命令来检查当前间隔设置,在该命令中,您可以将URL替换为SharePoint应用程序的有效路径:

stsadm-o getproperty-pn作业工作流 -网址

这是我的设置:

stsadm-o setproperty-pn作业工作流 -pv“0到59之间每5分钟”-url


关于这个问题,我目前与微软有一个公开的问题。到目前为止,看起来我们可能在bug领域。