BPMDeleteOnHoldEMTasks 命令

传统:
此命令将删除处于暂挂状态的事件管理器任务。

事件管理器在 Workflow ServerWorkflow Center中调度并驱动工作执行。 工作包括调用 Undercover Agent (UCA)、执行业务流程定义 (BPD)、调用 BPD 系统任务实施以及调用 BPD 计时器事件。 可通过事件管理器任务来完成对工作的调度和推动。 当出现异常(如监视器事件队列的队列已满情况)时,将启动任务的重新执行,这会尝试克服该异常。 事件管理器配置设置中指定的 re-execute-limit 属性将确定重新尝试的次数(缺省情况下,设置为 5)。 达到事件管理器任务的该限制之后,就不会再进行尝试。 为防止达到该限制导致 BPD 实例不再继续其浏览并停止响应的情况发生,失败且达到 re-execute-limit 的事件管理器任务将进入暂挂状态。 此类任务会保留在数据库中,但标记为暂挂状态,且通过运行 BPMReplayOnHoldEMTasks 命令可重新安排在未来运行,或通过 BPMDeleteOnHoldEMTasks 命令可将其删除。

注: 要删除暂挂的事件管理器任务,可以使用 wsadmin 命令或 Process Admin Console的运行状况管理功能,或通过 Swagger 接口进行 REST API 调用。 请勿使用存储过程删除任务或实例。 这可能会损坏暂挂的事件管理器任务的数据。

有关列出和重播暂停的事件管理器任务的信息,请参阅 BPMListOnHoldEMTasks 命令BPMReplayOnHoldEMTasks 命令

例如,如果启用了监视,并且 Workflow Server 生成的监视事件数超过了可以足够快地处理的事件数,那么队列将填满并导致队列已满的情况。 尝试发出监视器事件的 BPD 事务将失败并被回滚。 将重试受影响的事件管理器任务,直到达到事件管理器的 re-execute-limit,并且在达到 re-execute-limit 之前尝试的任何事件管理器任务将被标记为暂挂。

BPMDeleteOnHoldEMTasks 命令是使用 wsadmin 脚本编制客户机的 AdminTask 对象运行的。

先决条件

要点: 在配置了多个安全域的环境中,请使用 PALService MBean 而不是 wsadmin 命令。 请参阅 流程应用程序 LifeCycle (PAL) MBean
必须满足以下条件:
  • 在网络部署环境中,必须在包含用于处理 Workflow ServerWorkflow Center 应用程序的应用程序集群成员的节点上运行此命令。 请勿从 Deployment Manager 概要文件运行此命令。
  • 在网络部署环境中,可以从任何集群成员运行此命令。 但是,首先必须与要从中运行该命令的集群成员的 SOAP 端口建立 wsadmin 会话。
  • 在已连接方式下运行此命令,即,不使用 wsadmin -conntype none 选项。
  • 要访问 wsadmin 命令或 MBean 操作,所使用的标识必须具有 WebSphere® Application Server 操作员角色。 有关角色的信息,请参阅 管理角色
  • 要访问wsadmin命令或MBean操作,使用的ID必须属于 bpmAdminGroup 或(对于 Workflow Center ) bpmAuthorGroup。 bpmAdminGroup 的缺省名称为 tw_admins,bpmAuthorGroup 的缺省名称为 tw_authors。 有关组的信息,请参阅 IBM Business Automation Workflow 缺省组类型
    提示 :默认情况下,只有 DeAdmin 用户同时拥有 WebSphere Application Server 管理员角色和 bpmAdminGroup 成员身份。

位置

从要连接到的应用程序集群成员的 profile_root/bin 目录启动命令。 应用程序集群可以位于 Workflow CenterWorkflow Server 节点上。

命令处理期间所创建的日志位于您连接到的集群成员的 SystemOut.log 文件中。

语法

BPMDeleteOnHoldEMTasks
[-all]
[-ids task_id_list]

参数

必须提供以下参数之一:

-all
导致所有暂挂的事件管理器任务被删除。
-ids 任务标识列表
指定要删除的事件管理器任务(暂挂的任务)的标识列表。

示例

以下示例说明了如何删除系统中的所有暂挂的事件管理器任务:
wsadmin>print AdminTask.BPMDeleteOnHoldEMTasks(['-all'])

输出示例:

The BPMDeleteOnHoldEMTasks command deleted 11 on-hold Event Manager Tasks.

以下示例说明如何删除具有指定标识的暂挂的事件管理器任务:
wsadmin>print AdminTask.BPMDeleteOnHoldEMTasks(['-ids', ['9', '8', '7']])

输出示例:

The BPMDeleteOnHoldEMTasks command deleted 1 on-hold Event Manager Task.
The following Event Manager Task(s) could not be deleted because they do not exist: 8.
The following Event Manager Task(s) could not be deleted because they are not on-hold: 7.