工作流是否保证以 FIFO 顺序执行? (CRM 2011 RU18 本地)

Are workflows guaranteed to execute in a FIFO order? (CRM 2011 RU18 on-prem)

假设异步工作流将按照它们被触发的顺序执行是否安全?例如

自定义对象上的 WF1 被触发。 WF1 导致 WF2 和 WF3 按该顺序触发,即它们都进入异步队列。

我可以安全地假设 WF2 实际上会在 WF3 之前执行吗?

我找不到任何关于此的官方信息,所以也许不应该假设?

不能保证它会是 FIFO。异步服务可以按可用资源的顺序处理异步作业。

Any asynchronous operation that has a AsyncOperation.DependencyToken value of null executes independent of all other asynchronous operations in the queue. The order of execution with regard to other independent operations is not guaranteed. However, asynchronous operations created earlier have a better chance of executing before operations created later. This assumes that the operations are not postponed and are not set to a state of Completed.

The dependency token must be set when the asynchronous operation is created. Because Dynamics 365 creates asynchronous operations for bulk operations such as bulk email, bulk delete, and import, you cannot make use of the dependency token for these operations. In addition, the dependency token cannot be used to order execution of asynchronous registered plug-ins because the asynchronous operation that executes plug-ins is created by the Queue Manager.

Read more

激活在 CRM WF 案例中的含义不同。我假设您是在谈论触发 WF。如果 WF2 和 WF3 在 WF1 内部作为子 WF 顺序触发,则平台将相应地发布 Dependency token 以有序执行。即先WF2再WF3.