This topic applies only to the IBM Business Process Manager Advanced configuration.

待办任务的状态过渡图

待执行任务由客户机应用程序或调用组件自动创建。当人员将工作作为 BPEL 流程的一部分执行(内联任务),或实现可公开获得的 Web Service(独立任务)时,可以借助于待执行任务。在待执行任务生命周期内,特定交互只能在特定任务状态下进行,而这些交互又会影响任务的状态。

任务生命周期期间发生的状态过渡也取决于任务是具有单个所有权还是并行所有权。

具有单一所有权的待执行任务

下图显示了具有单一所有者的待执行任务的生命周期内可能发生的状态过渡。对于独立待执行任务,它假定任务的 autonomy 属性设置为 peer

此图显示了具有单一所有者的待执行任务从“不活动”状态到其中一种任务结束状态的状态和状态过渡。

创建任务后,它将进入“不活动”状态。在此状态下,您可以更新任务属性或设置定制属性,例如,用于更改任务到期、失效或删除前持续时间。要处理待执行任务,必须将其启动。

启动任务后,它将进入“就绪”状态。在此状态下,该任务将等待其中一个潜在所有者申领该任务并执行与此任务相关联的工作。在此状态下,可能会发生下列异常事件:
  • 如果未及时声明或完成任务,或者未授权的用户手动触发升级,那么任务将升级。该任务会进入“已升级”子状态,并在剩下的任务生命周期内保持此子状态。
  • 此任务可能被手动暂挂。它将进入“已暂挂”子状态。在此状态下,对此任务执行的大部分操作将被阻塞。此任务可以被手动恢复,也可以由您对暂挂操作设置的计时器自动恢复。
  • 此任务可能会失效。此状态更改将使此任务结束。
  • 要在任务到期、失效或删除时重新调度该任务,该任务的发起者、启动者或管理员可以编辑持续时间或时间点的相应属性。
  • 您可以使用终止操作手动终止此任务。 此状态更改将使此任务结束。
在正常的任务流中,其中一个潜在所有者声明此任务并成为所有者。此任务将进入“已声明”状态,所有者和编辑者可以对其进行处理。当任务处于“已声明”状态时,任务所有者可以执行下列操作:
  • 如果他们需要获得支持才能完成工作,那么可以使用子任务将部分工作委托他人完成。这些子任务可以是协作任务或调用任务。接着,父任务将进入“正在等待子任务”子状态并一直处于此状态,直到所有子任务进入结束状态为止。父任务在“正在等待子任务”时,他们可以将其暂挂,但是,不能完成此任务,也不能取消声明。如果父任务暂挂,那么它的所有子任务也将暂挂。
  • 例如,如果他们想委派其他人完成工作,那么他们可以创建协作任务作为后续任务来完成工作。父任务将进入“已转发”结束状态。
  • 如果他们希望让他人接管任务的整体职责,那么可以将所有者工作项移交给另一个潜在所有者或管理员。
  • 如果他们希望放弃任务的所有权,那么可以取消声明此任务。此任务将再次进入“就绪”状态,并且可以由其中一个潜在所有者声明。请注意,如果取消任务的申领,此操作不会影响任务的到期时间或到期时间或者升级时间。
在“已申领”状态下,可能会发生下列异常事件:
  • 如果任务未及时完成,或“正在等待子任务”完成的时间过长,那么该任务将升级。授权的用户也可能手动触发升级。该任务将进入“已升级”子状态。
  • 此任务可能被手动暂挂。它将进入“已暂挂”子状态。在此状态下,对此任务执行的大部分操作将被阻塞。此任务可以被手动恢复,也可以由您对暂挂操作设置的计时器自动恢复。或者,当计时器失效时,将取消对任务的申领,并且该任务将再次进入“就绪”状态。
  • 此任务可能会失效。此状态更改将使此任务结束。
  • 要在任务到期、失效或删除时重新调度该任务,该任务的发起者、启动者或管理员可以编辑持续时间或时间点的相应属性。
  • 您可以使用终止操作手动终止此任务。 此状态更改将使此任务结束。
  • 可以重新启动该任务。该任务将重新进入“就绪”状态。如果任务具有子状态,将取消这些子状态。将与任务相关联的升级重置为不活动状态,并开始它们正常的生命周期。如果任务具有子任务,将终止并删除这些子任务。

当完成对任务的工作后,所有者便完成该任务。于是,如果此任务成功完成,那么它将进入“已完成”状态;如果发生错误,那么它将进入“已失败”状态。

在“已失败”、“已终止”、“已完成”和“已失效”结束状态下,无法执行工作。如果任务模板指定了自动删除,那么此任务将立即删除或者在删除计时器失效后删除。 如果不进行自动删除,此任务将一直处于其结束状态,直到显式将其删除为止。删除父任务时,也将删除其子任务和后续任务。

“已转发”状态指示仍需要对后续任务进行处理。一旦后续任务进入结束状态,便自动删除父任务。如果不进行自动删除,那么父任务和后续任务将一直处于结束状态,直到父任务被显式删除为止。 删除父任务时,也将删除后续任务。

还有其他一些规则适用于内联待执行任务。内联任务是 BPEL 流程不可或缺的一部分,因此其生命周期受流程生命周期控制:
  • 任务由 BPEL 流程创建并隐式启动。
  • 任务在 BPEL 流程中由人员任务活动表示。 此任务和活动处于相同的状态,例如,当此任务处于“就绪”状态时,人员任务活动也处于“就绪”状态。人员任务活动未反映“已转发”状态或任务子状态。
  • 如果内联任务有子任务,人员任务活动并不会知道此情况,并将在“已申领”状态下等待父任务完成。
  • 如果内联任务有后续任务,人员任务活动并不会知道此情况,并将在“已申领”状态下等待后续任务完成。
  • 内联待执行任务没有失效前持续时间,并且不能手动终止。失效和终止均由人员任务活动或 BPEL 流程控制。
  • 任务与 BPEL 流程一起删除。它们既不能手动删除,也没有删除前持续时间。

具有并行所有权的待执行任务

下图显示了具有并行所有权的待执行任务的生命周期内可能发生的状态过渡。

此图显示了具有并行所有权的待执行任务从“不活动”状态到其中一种任务结束状态的状态和状态过渡。

无法声明或手动完成父任务。父任务将进入“正在运行”状态,并一直保持该状态,直至满足其完成条件或失效为止。