MQ 相關命令,及自動化指令碼的編寫

2022-07-30 11:51:12 字數 1977 閱讀 6389

1,mq的相關命令

檢視佇列管理器執行狀態

# dspmq

顯示結果中qmname表示mq佇列管理器的名稱,status表示當前執行狀態。

執行狀態有如下幾種:

starting    正在啟動

running    正在執行

ending    正在停止

ended normally  已經正常終止

ended immediately  已經立即終止

ended preemtively  已經強制終止

ended unexpectively 異常終止

注:停止mq後建議使用dspmq命令進行狀態檢查是否成功關閉。

二.檢視通道執行狀態與啟停通道

$ runmqsc qmgrname

dis chl(*);     檢視所有通道定義

dis chs(*);     檢視所有通道狀態,如果沒有查詢到通道狀態,或報錯amq8420: channel status not found,請啟動通道

dis chs(channelname);  檢視通道channelname的狀態

通道狀態有如下幾種:

starting  正在啟動

binding    正在繫結

initializing  正在初始化

running   正常

stopping 正在停止

retrying  重試

paused  等待

stopped 已停止

requesting  請求

啟停通道與重置通道序號的方法:

$ runmqsc qmgrname

start chl(channelname);  啟動通道

stop chl(channelname);  停止通道

reset channel(channelname);  重置通道序號。

三.檢視通道監聽狀態與啟停監聽

$ runmqsc qmgrname

dis listener(*);     檢視通道監聽定義

dis lsstatus(listnername);   檢視監聽狀態

啟動與停止監聽的方法:

$ runmqsc

start lstr(listnername);   啟動監聽

stop lstr(listnername);   停止監聽 

四.檢視佇列深度

如果佇列深度不斷增加,不見減少,那麼可能就有問題了,請檢查並分析其原因。

$runmqsc qmgrname

dis q(*);    檢視所有各類佇列的屬性

dis qlocal(qname);   檢視所有本地佇列的屬性

佇列深度屬性為:curdepth

五.檢視死信佇列深度

如果死信佇列深度不斷增加,那就需要分析其原因。

$runmqsc qmgrname

dis qlocal(deadqname)

2、相應的指令碼

linux:

out = run_cmd('su - {} -c "{}if 'windows' in platform.system():

with open('channelnum.in', 'w') as f:

f.write('dis queue(\'{}\') curdepth;\nend'.format(name))

cmd = 'runmqsc {}< "channelnum.in" > "channelnum.out"'.format(qname)

#print cmd

run_cmd(cmd)[1]

with open("channelnum.out", 'r') as f:

out = ''.join(f.readlines())

#windows需要寫入檔案,去執行,替換相應的命令即可

自動化指令碼編寫規範

自動化測試指令碼編寫規範 1 為了使所有的測試工程師在進行自動化設計和測試時能夠使編寫的指令碼風格一致 步驟一致,能夠把大家的設計和 組裝在一起,因此有必要對自動化測試指令碼編寫進行統一的規範化,下面就先來介紹我們的專案組整理編寫的自動化指令碼編寫的規範。1 自動化指令碼編寫的規範 1 基本資訊 在...

自動化測試指令碼編寫規範(1)

11.8自動化測試指令碼編寫規範 1 為了使所有的測試工程師在進行自動化設計和測試時能夠使編寫的指令碼風格一致 步驟一致,能夠把大家的設計和 組裝在一起,因此有必要對自動化測試指令碼編寫進行統一的規範化,下面就先來介紹我們的專案組整理編寫的自動化指令碼編寫的規範。1 自動化指令碼編寫的規範 1 基本...

論自動化思想及指令碼除錯

本段文章所寫純屬於個人愚見。望大家勿噴。自動化思想 1 指令碼是為業務服務的,是為測試服務的。一些開發寫的 確實夠炫夠酷,但不重要,也確實存在很多開發人員瞧不起測試人員的情況存在。但請開發人員尊重業務,尊重測試的思想,至少我們的自動化指令碼也是要覆蓋用例的。而用例是經過測試人員按照測試思想來編寫的,...