啟用批次工作事件發佈
透過「Java 傳訊系統 (JMS)」,批次伺服器可以將工作相關事件發佈至外部用戶端。
關於這項作業
當批次伺服器能夠將工作相關事件發佈至外部用戶端時,監視器就能夠查看工作相關事件,並報告失敗情況。批次分派器伺服器可以在分派階段發佈工作事件。批次執行程式伺服器可以在穿梭於不同的執行階段時,發佈工作事件。這些事件是以下列的主題樹狀結構來發佈:
結構 | 說明 |
---|---|
batch | 主題樹狀結構的預設根位置。![]() |
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:工作實例 ID(若有的話)。
- com_ibm_ws_batch_internal_jobExecutionId:工作執行 ID(若有的話)。
- com_ibm_ws_batch_internal_stepExecutionId:工作步驟執行 ID(若有的話)。
批次伺服器必須配置成能夠發佈工作相關事件。批次分派器和批次執行程式的配置相同。下列步驟可發佈批次伺服器的工作相關事件。
程序
範例
下列範例說明基本執行流程的事件順序。
- 提交並執行含有檢查點的單一步驟工作。
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