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

在运行时对任务的过期、删除和到期时间进行更改

有时,业务情况需要您更改最初为任务定义的到期、失效或删除时间。 任务状态确定了您可以在运行时重新调度、取消和启动上述哪些时间,以及何时可采取这些操作。 您可以使用 Business Process Choreographer Explorer 来更改这些时间,也可以使用人员任务管理器 API 的 update 方法来修改相应的任务属性。

您可以通过以下某种方式更改任务的到期时间、到期时间或删除时间:
  • 使用特定时间
  • 使用基于日历(例如业务日历)的持续时间(例如 2 天)。 还可以在持续时间表达式中使用以下常量:
    DURATION_ZERO
    任务启动后即将到期或立即失效,或者任务完成后立即被删除(具体取决于任务的自动删除设置和任务结束状态)。 如果任务已启动,那么它将立即到期,或立即失效。 如果任务处于结束状态,那么在为该任务设置了自动删除的情况下会立即将其删除。
    DURATION_INFINITE
    任务不会到期,不会失效,或者不会被删除。

对于任务链,链中的每个任务都有其自己的到期时间。 但是,只有链中的第一个任务有到期时间,并且由链中所有其他任务共享。 子任务有其自己的到期时间和到期时间。 如果支持删除该任务类型,那么可以更改删除时间。

到期时间

您可以使用 dueTime 和 durationUntilDue 属性来更改任务的到期时间。 任务状态确定您可以使用其中哪些属性。
不活动状态
在此状态下,您可以通过将 durationUntilDue 属性设置为任务所用日历的有效值,或者设置为某个常量值,从而覆盖为任务定义的到期前持续时间值。 要指定任务在启动后立即到期(例如,由于任务具有高优先级),请将 durationUntilDue 属性设置为 DURATION_ZERO。 为防止任务到期,请将 durationUntilDue 属性设置为 DURATION_INFINITE。
活动状态(就绪、已申领、正在运行或已转发)
如果任务处于其中任一状态,那么可以重新调度或取消到期时间。 此外,如果任务没有到期时间(例如,由于在任务不活动时设置了 DURATION_INFINITE),那么可以设置到期时间。

您可以设置到期时间,或者通过将 dueTime 属性或 durationUntilDue 属性设置为任务所用日历的有效值来重新调度到期时间。 要取消到期时间,请将 durationUntilDue 属性设置为 DURATION_INFINITE。 要强制任务立即到期(例如,由于它与紧急的客户请求相关联),请将 durationUntilDue 属性设置为 DURATION_ZERO。

到期时间

您可以使用 expirationTime 和 durationUntilExpires 属性来更改任务的到期时间。 任务状态确定您可以使用其中哪些属性。
不活动状态
在此状态下,您可以通过将 durationUntilExpires 属性设置为任务所用日历的有效值,或者设置为某个常量值,从而覆盖为任务定义的失效前持续时间值。 要指定任务在启动后立即失效,请将 durationUntilExpires 属性设置为 DURATION_ZERO。 为防止任务失效,请将 durationUntilExpires 属性设置为 DURATION_INFINITE。
活动状态(就绪、已申领、正在运行或已转发)
如果任务处于其中任一状态,那么可以重新调度或取消到期时间。 此外,如果任务没有到期时间(例如,由于在任务不活动时设置了 DURATION_INFINITE),那么可以设置到期时间。

您可以设置到期时间,或者通过将 expirationTime 属性或 durationUntilExpires 属性设置为任务所用日历的有效值来重新调度到期时间。 要取消到期时间,请将 durationUntilExpires 属性设置为 DURATION_INFINITE。 要强制任务立即失效(例如,由于不再需要该任务),请将 durationUntilExpires 属性设置为 DURATION_ZERO。

删除时间

任务的自动删除设置和任务结束状态确定了到达删除时间时是否删除任务。 您可以使用 deletionTime 和 durationUntilDeleted 属性来更改任务的删除时间。 任务状态确定您可以使用其中哪些属性。
不活动状态或活动状态(就绪、已申领、正在运行或已转发)
如果任务处于其中任一状态,您可以通过将 durationUntilDeleted 属性设置为某个常量值,从而覆盖为任务定义的删除前持续时间值。 您可以通过将 durationUntilDeleted 属性设置为 DURATION_ZERO,从而在任务进入某种结束状态后立即将其删除。 要取消删除时间,请将 durationUntilDeleted 属性设置为 DURATION_INFINITE。
结束状态(已完成、已失败、已转发、已终止或已失效)
如果任务处于其中任一状态,那么可以重新调度或取消删除时间。 此外,如果任务没有删除时间(例如,由于在任务不活动时设置了 DURATION_INFINITE),那么可以设置删除时间。

您可以设置删除时间,或者通过将 deletionTime 属性或 durationUntilDeleted 属性设置为任务所用日历的有效值来重新调度删除时间。 要取消删除时间,请将 durationUntilDeleted 属性设置为 DURATION_INFINITE。 要强制立即删除任务,请将 durationUntilDeleted 属性设置为 DURATION_ZERO。