异步操作状态

 

发布日期: 2017年1月

适用于: Dynamics 365 (online),Dynamics 365 (on-premises),Dynamics CRM 2016,Dynamics CRM Online

将异步操作添加到异步队列后,它们的状态就已经定义好了。 异步操作可以是等待运行、正在运行或已经完成。 在操作最终从队列中删除之前,也可能具有其他可能的状态。 这些状态定义异步操作的生命周期。

本主题内容

异步操作的状态

检索和更新 AsyncOperation 状态

异步操作的状态

可以通过三种方法更改异步操作的状态:在常规队列处理中通过平台、通过用户与 Microsoft Dynamics 365 Web 应用程序的交互,或者通过对异步操作进行更改的 Web 服务调用。 作为开发人员,您可以检索您有权访问的任何异步操作的当前状态,也可以更改该状态。

下表列出了这些状态和 AsyncOperation 的每个状态中的子状态。

省/直辖市/自治区

状态

数值状态值

Ready

WaitingForResources

0

Suspended

Waiting

10

Locked

InProgress

20

Locked

Pausing

21

Locked

Canceling

22

Completed

Succeeded

30

Completed

Failed

31

Completed

Canceled

32

受支持的状态在 AsyncOperationState 枚举中定义。 在早期绑定 AsyncOperation 类中,状态用于 AsyncOperation.StateCode 属性,而子状态用于 AsyncOperation.StatusCode 属性。 有关详细信息,请参阅 AsyncOperation 实体元数据。若要查看您的组织的实体元数据,请安装浏览组织的元数据中描述的元数据浏览器解决方案。 您还可以在一个名为 EntityMetadata.xlsx 的 Excel 文件中查看非自定义组织的元数据,该文件包含在 SDK 下载的顶级文件夹中。。 状态显示在 Microsoft Dynamics 365 Web 应用程序的“系统作业”网格中的“状态描述”字段中。 通过选择“系统作业”的“其他操作”中的任意菜单项,您可以交互方式改变异步操作的状态。 允许的操作包括以下:取消、继续、延期和暂停。

以下关系图显示支持的异步操作状态改变。

AsyncOperation 状态示意图

注意,异步操作只能沿着下图中所示的特定路径从一种状态转变到另一种状态。 一些路径由与 Microsoft Dynamics 365 Web 应用程序交互的用户初始化,而另一些则由 Microsoft Dynamics 365 平台作为规则异步队列处理的一部分或因为 Web 服务调用初始化。 例如,异步操作直接从“已挂起”状态转变为“锁定”状态。

锁定状态表明 AsyncOperation 实例正由异步服务使用。 当锁定时,它不能由该服务的其他实例使用。 这可确保不会多次执行该实例,例如不会由两个不同的异步服务执行。

检索和更新 AsyncOperation 状态

通常通过 Microsoft Dynamics 365 Web 应用程序中的“系统作业”网格以交互方式监视和更新异步操作的状态。 不过,您也可以使用 SDK 编写代码来执行这些任务。

读取异步操作的状态

  1. 使用 RetrieveMultiple 方法按名称或使用 Retrieve 方法按 ID 检索 AsyncOperation

  2. 读取 AsyncOperation.StateCode 属性。

更改状态代码

  1. 根据允许的操作状态,将检索的状态代码属性修改为新值。 您也可以更改 AsyncOperation.PostponeUntil 属性。

  2. 调用 Update 更改数据库中的这些属性值。

也可以通过 Execute 方法在相应的请求消息中执行上述操作。AsyncOperation 的属性(除 AsyncOperation.StateCodeAsyncOperation.PostponeUntil 之外)应被视为只读。

定期系统作业

您无法取消、暂停或恢复大多数系统作业。 请参阅标识这些受限系统作业的一些列表。 第一个列中的值是 AsyncOperation 实体的 OperationType 属性的值。

异步操作类型(选项值)

操作描述

22

计算组织的最大存储规模

18

计算组织的存储规模

19

收集组织的数据库统计信息

20

收集组织规模统计信息

16

收集组织统计信息

9

SQM 数据收集

25

组织全文目录索引

31

存储限制通知

24

更新统计信息的间隔

27

更新合同状态

有关支持同步操作类型的完整列表,请参阅 AsyncOperation 实体元数据。若要查看您的组织的实体元数据,请安装浏览组织的元数据中描述的元数据浏览器解决方案。 您还可以在一个名为 EntityMetadata.xlsx 的 Excel 文件中查看非自定义组织的元数据,该文件包含在 SDK 下载的顶级文件夹中。

另请参阅

Microsoft Dynamics 365 中的异步服务
AsyncOperation(系统作业)实体
异步操作中的依赖项和执行顺序

Microsoft Dynamics 365

© 2017 Microsoft。 保留所有权利。 版权