启用批处理作业事件发布
通过使用 Java 消息传递系统 (JMS),批处理服务器可将与作业相关的事件发布至外部客户机。
关于此任务
批处理服务器将与作业相关的事件发布至外部客户的功能允许监视器查看与作业相关的事件并报告故障。批处理分派器服务器可对分派阶段中的作业发布事件。批处理执行程序服务器可在经历执行的不同阶段时对作业发布事件。这些事件是在以下结构的主题树中发布的:
结构 | 描述 |
---|---|
批处理 | 主题树的根。 |
batch/jobs | 所有与作业相关的事件的主题树。 |
batch/jobs/instance | 与作业实例相关的所有事件的主题树。 |
batch/jobs/instance/submitted | 主题树节点。批处理服务器针对新的作业提交请求创建作业实例时,将发布消息。 |
batch/jobs/instance/jms_queued | 主题树节点。批处理 JMS 分派器将作业提交请求放置在作业提交队列中时,将发布消息。 |
batch/jobs/instance/jms_consumed | 主题树节点。批处理执行程序从作业提交队列接收到作业提供请求时,将发布消息。 |
batch/jobs/instance/dispatched | 主题树节点。批处理执行程序接受作业实例以执行时,将发布消息。 |
batch/jobs/instance/completed | 主题树节点。作业实例已完成时,将发布消息。 |
batch/jobs/instance/stopped | 主题树节点。作业实例已停止时,将发布消息。 |
batch/jobs/instance/stopping | 主题树节点。作业实例正在停止时,将发布消息。 |
batch/jobs/instance/failed | 主题树节点。作业实例失败时,将发布消息。 |
batch/jobs/instance/purged | 主题树节点。作业实例已成功清除时,将发布消息。 |
batch/jobs/execution | 与作业执行相关的所有事件的主题树。 |
batch/jobs/execution/restarting | 主题树节点。批处理执行程序正在重新启动执行时,将发布消息。 |
batch/jobs/execution/starting | 主题树节点。作业执行正在启动时,将发布消息。 |
batch/jobs/execution/completed | 主题树节点。作业执行成功结束时,将发布消息。 |
batch/jobs/execution/failed | 主题树节点。作业执行因为失败而结束时,将发布消息。 |
batch/jobs/execution/stopped | 主题树节点。作业执行已停止时,将发布消息。 |
batch/jobs/execution/jobLogPart | 主题树节点。创建新作业日志部分、作业停止或作业结束时,会发布消息。 |
batch/jobs/execution/step/started | 主题树节点。步骤执行已启动时,将发布消息。 |
batch/jobs/execution/step/completed | 主题树节点。步骤执行已成功完成时,将发布消息。 |
batch/jobs/execution/step/failed | 主题树节点。步骤执行失败时,将发布消息。 |
batch/jobs/execution/step/stopped | 主题树节点。步骤执行已停止时,将发布消息。 |
batch/jobs/execution/step/checkpoint | 主题树节点。获取检查点时,将发布消息。 |
batch/jobs/execution/partition/started | 主题树节点。分区已启动时,将发布消息。 |
batch/jobs/execution/partition/completed | 主题树节点。分区已成功完成时,将发布消息。 |
batch/jobs/execution/partition/failed | 主题树节点。分区失败时,将发布消息。 |
batch/jobs/execution/partition/stopped | 主题树节点。分区已停止时,将发布消息。 |
batch/jobs/execution/split-flow/started | 主题树节点。拆分流程已启动时,将发布消息。 |
batch/jobs/execution/split-flow/ended | 主题树节点。拆分流程已完成时,将发布消息。 |
每个主题的已发布消息为 JMS TextMessage。此消息的内容为 JSON 格式的字符串,表示主题的对象,例如,作业实例、作业执行、步骤执行或分区。此外,此消息还包括以下 JMS 消息属性集:
- com_ibm_ws_batch_internal_jobInstanceId:作业实例标识(如果可用)。
- com_ibm_ws_batch_internal_jobExecutionId:作业执行标识(如果可用)。
- com_ibm_ws_batch_internal_stepExecutionId:作业步骤执行标识(如果可用)。
必须配置批处理服务器以允许发布与作业相关的事件。批处理分派器和批处理执行程序具有相同配置。以下步骤允许对批处理服务器发布与作业相关的事件。
过程
示例
以下示例演示基本执行流程的事件序列。
- 提交并运行带有检查点的单步骤作业。
batch/jobs/instance/submitted batch/jobs/instance/jms_queued batch/jobs/instance/jms_consumed batch/jobs/execution/starting batch/jobs/instance/dispatched batch/jobs/execution/started batch/jobs/execution/step/started batch/jobs/execution/step/checkpoint batch/jobs/execution/step/checkpoint ... batch/jobs/execution/step/checkpoint batch/jobs/execution/step/completed batch/jobs/execution/completed batch/jobs/instance/completed
- 提交并运行带有分区的单步骤作业。
batch/jobs/instance/submitted batch/jobs/instance/jms_queued batch/jobs/instance/jms_consumed batch/jobs/execution/starting batch/jobs/instance/dispatched batch/jobs/execution/started batch/jobs/execution/step/started batch/jobs/execution/partition/started batch/jobs/execution/partition/started batch/jobs/execution/partition/started batch/jobs/execution/partition/completed batch/jobs/execution/partition/completed batch/jobs/execution/partition/completed batch/jobs/execution/step/completed batch/jobs/execution/completed batch/jobs/instance/completed