现象
启动 SharePoint 2013 工作流时,遇到警报中显示的以下错误消息:
出现错误。 若要重试,请重新加载页面,然后启动工作流。
如果选择“设置”(齿轮图标),然后选择“网站设置>工作流设置>工作流运行状况”,状态将显示为已暂停:
原因
如果 SharePoint 2013 工作流处于当前 SharePoint 网站的挂起状态,因为一个或多个工作流超出某些限制,则会发生此错误。
解决方法
可以通过删除超出其限制的 SharePoint 2013 工作流来删除当前 SharePoint 网站的挂起。 使用“工作流设置”页,或使用 SharePoint Designer 删除工作流。
清理过程不是即时的。 完成时工作流运行状况需要一段时间,工作流运行状况会切换到 “已连接” 状态:
建议使用“工作流设置”页删除 SharePoint 2013 工作流。
可以使用 ShowScopeDebugInfo() 函数标识要删除的工作流。
如何运行 ShowScopeDebugInfo() 函数
在遇到工作流问题的网站上,选择“设置”(齿轮图标),然后选择“网站设置>工作流设置>工作流运行状况”。
- 还可以从 URL 访问工作流运行状况。 示例 URL:
https://contoso.sharepoint.com/sites/test/_layouts/15/WorkflowServiceHealth.aspx
- 在此示例中,将 contoso 替换为您的域,并使用 SharePoint 网站的名称进行测试。
- 还可以从 URL 访问工作流运行状况。 示例 URL:
从浏览器打开开发人员工具(建议使用 Microsoft Edge 或 Google Chrome)。
- 对于 Microsoft Edge,请按 F12 键切换打开开发人员工具。
- 对于 Google Chrome,请按 Shift+Ctrl+J 打开开发人员工具。
选择“控制台” 。
键入以下函数名称: ShowScopeDebugInfo()
- 键入 ShowScopeDebugInfo()后,按 Enter。 它执行一个 JavaScript 函数,用于在后台打印数据。
- 请注意 ,需要刷新工作流服务运行状况页才能从 ShowScopeDebugInfo 获取更新的数据。 ShowScopeDebugInfo 返回的信息不是实时的。 在结果更新之前稍有延迟。
示例输出:
{ "SupportDocument": "https://go.microsoft.com/fwlink/?linkid=847765", "ScopePath": "/spo/ec63b09b-9748-47ba-9018-beeadd405204/f19089ae-d6c6-4feb-be0b-ff4de40a04fc/88890858-ae38-407a-b1e7-152c7cff6fe5", "WorkflowEndpoint": "spo-dm3-001.workflow.windows.net", "WorkflowAppId": "i:0i.t|ms.sp.ext|5958c314-3699-407a-b142-2d459b5161c4@72f988bf-86f1-41af-91ab-2d7cd011db47", "IsThrottled": false, "ThrottledUntil": "", "ActiveMessageCount": "965436", "StatusDetails": "MaxTopicSize", "ScopeSizeInBytes": "6447069028", "MaxScopeSizeInBytes": "6442450944", "CorrelationFilterCount": "1851", "MaxCorrelationFilterCount": "100000", "ScopeUsageInfoAggregatedByWorkflow": [ { "workflowName": "87effe93-5c6a-474d-8a72-0ef451ff0100", "workflowDisplayName": "ANewWF", "sizeInBytes": 0, "correlationFilterCount": 0 }, { "workflowName": "df26aa85-85a7-4466-a273-1775c9da38bb", "workflowDisplayName": "Neat2013ListWorkflow", "sizeInBytes": 52591272, "correlationFilterCount": 1827 }, { "workflowName": "fc7a63c5-ff72-42e5-87fd-3f2944f8a6ef", "workflowDisplayName": "Spec_Document_Approval", "sizeInBytes": 277327, "correlationFilterCount": 24 } ] }
记下 输出中的 StatusDetails。 如果 存在 MaxTopicSize 和 MaxCorrelationFilter ,则表示当前 SharePoint 网站挂起了所有 SharePoint 2013 工作流。 “工作流服务运行状况”页显示:
工作流已挂起
删除工作流或工作流后,将启动清理过程。 可以通过刷新工作流服务运行状况页和执行 ShowScopeDebugInfo 函数来跟踪进度。 ActiveMessageCount、 ScopeSizeInBytes 和 CorrelationFilterCount 将下降,具体取决于超出的限制。 ActiveMessageCount 是最慢的,可能需要几天时间才能清除,但它不会阻止。 完成清理后台作业的核心后,“工作流服务运行状况”页将不再显示 “工作流”挂起, StatusDetails 将不再具有值。
如果无法通过删除工作流来解决此问题,可以选择打开支持请求。 如果选择打开支持请求,请使用 ShowScopeDebugInfo() 函数收集有关工作流运行状况的一些附加信息。 有关 ShowScopeDebugInfo() 函数的详细信息,请参阅使用 ShowScopeDebugInfo 收集 SharePoint 2013 工作流故障排除数据。