[UNIX、Linux、Windows、IBM i]

MFT 處理程序控制器概觀

IBM MQ (MFT) 處理程序控制器負責啟動 MFT 代理程式,並在該處理程序因任何原因而結束時重新啟動該處理程序。 每個代理程式處理程序都有一個處理程序控制器。

附註: 程序控制器僅適用於 IBM MQ for Multiplatforms。

[z/OS] 在 z/OS 上,代理程式處理程序由 Automatic Restart Manager (ARM) 重新啟動。 如需此作業的相關資訊,請參閱 為 z/OS Automatic Restart Manager (ARM) 配置 MFT

處理程序控制器如何運作

執行 fteStartAgent 指令時,它會啟動該代理程式的處理程序控制器實例,然後處理程序控制器會啟動代理程式處理程序。

fteStopAgent 指令執行時,它會連接至該代理程式的處理程序控制器,並傳送停止要求給它。 處理程序控制器會接收要求,停止代理程式處理程序,然後自行關閉。

處理程序控制器會監視代理程式處理程序。 如果代理程式處理程序非預期地停止,處理程序控制器會重新啟動它。

依預設,如果代理程式處理程序在兩分鐘內停止五次,則處理程序控制器會自行關閉,且不會再次嘗試重新啟動代理程式。 在此狀況下,您需要使用 fteStartAgent 指令手動重新啟動代理程式。

您可以透過修改下列代理程式內容來變更此行為:
  • maxRestartCount
  • maxRestartDelay
  • maxRestartInterval

如果您已配置代理程式使用 BINDINGS 傳輸來連接至其代理程式佇列管理程式,則處理程序控制器會在啟動時建立與此佇列管理程式的連線。 然後,處理程序控制器會監視此連線。

如果因為佇列管理程式變成無法使用而導致連線中斷,則處理程序控制器會停止代理程式,然後定期嘗試重新建立連線。

嘗試重新連線之間的時段由代理程式內容 agentQMgrRetryInterval決定。 一旦佇列管理程式再次可用,且處理程序控制器已能夠連接它,處理程序控制器即會重新啟動代理程式處理程序。
附註: 當代理程式配置為使用 CLIENT 傳輸連接至其代理程式佇列管理程式時,如果與佇列管理程式中斷連線,代理程式處理程序會保持作用中狀態。 在此狀況下,代理程式處理程序會定期嘗試重新連接自己。

如需本節所提及四個內容的相關資訊,請參閱 MFT agent.properties 檔案 主題中的 進階代理程式內容: 程序控制器 一節。

處理程序控制器日誌檔

程序控制器會將參考訊息寫入其事件日誌。 這是稱為 pceventN.log的檔案,其中 N 是一個數字,可在下列目錄中找到: MQ_DATA_PATH/mqft/logs/coordination_qmgr_name/agents/agent_name/logs/

每一個處理程序控制器事件日誌檔的大小,以及歷程檔案的數目,由代理程式內容 outputLogSizeoutputLogFiles決定。

如需本節中所提及內容的相關資訊,請參閱 MFT agent.properties 檔案 主題的 進階代理程式內容: 追蹤和記載 一節。
附註: 這些內容也用來決定代理程式日誌檔 (稱為 outputN.log) 以及處理程序控制器日誌檔的大小和數目。
寫入處理程序控制器事件日誌的訊息包括處理程序控制器的處理程序 ID ,以及代理程式處理程序的處理程序 ID。 以下顯示這些訊息的部分範例:

[21/06/2022 16:17:40.000 GMT Daylight Time]  00000000000049e0 
ProcessContro I BFGPC0003I: IBM MQ Managed File Transfer process controller started. 
Log files located at: C:\ProgramData\IBM\MQ\mqft\logs\QM1\agents\AGENT1.
 
[21/06/2022 16:17:55.000 GMT Daylight Time]  00000000000049e0 
ProcessContro I BFGPC0007I: IBM MQ Managed File Transfer process controller with process 
identifier 18736 started AGENT1@QM1 with process identifier 1748.

[21/06/2022 16:19:20.000 GMT Daylight Time]  00000000000049e0 
ProcessContro I BFGPC0027W: Process has ended with return code 1 and will be 
restarted to attempt to recover the problem.

[21/06/2022 16:19:20.000 GMT Daylight Time]  00000000000049e0 
ProcessContro I BFGPC0007I: IBM MQ Managed File Transfer process controller with process 
identifier 18736 started AGENT1@QM1 with process identifier 1304.

在這裡,與代理程式 AGENT1 相關聯的處理程序控制器以處理程序 ID 18736 執行。

一開始,它會啟動代理程式處理程序-此處理程序的處理程序 ID 為 1748。

在代理程式啟動之後不久,處理程序控制器偵測到它已非預期地停止,因此重新啟動它。 重新啟動之後,代理程式處理程序的處理程序 ID 為 1304。