【问题标题】:Command mqreply.c timeout命令 mqreply.c 超时
【发布时间】:2021-01-15 18:30:37
【问题描述】:

我们和我的同事从https://github.com/ibm-messaging/mq-rfhutil/tree/master/mqperf 构建了 mqreply.sh 但我们不建议命令 mqreply 有超时,然后关闭带有命令的进程。

我附上我们的文件和执行 mqreply 的参数:

[header]
qname=DEV.QUEUE.1
qmgr=QM1
msgcount=10
msgtype=2
format="MQSTR"
codepage=1208
persist=0
replyq=DEV.QUEUE.2
sleeptime=1000
maxWaitTime=5
maxtime=60
waitTime=60
replyFilename=/tmp/msqtoload.dat

我尝试设置maxWaitTime和maxtime,waitTime,但它不影响进程生命周期的超时。

你能说我怎样才能让 mqreply 不关闭或增加超时?

谢谢

【问题讨论】:

    标签: ibm-mq


    【解决方案1】:

    您链接到的 mqreply 示例中围绕 MQGET 的 while 循环执行此操作:-

    while ((compcode == MQCC_OK) && (0 == terminate) && ((0 == parms.totcount) || (msgsRead < parms.totcount)))
    {
    

    另外,MQGET 只会等待 1 秒。因此有一条评论:-

    /* since we have a signal handler installed, we do not want to be in an MQGET for a long time */
    

    这表明,如果您希望 mqreply 保持打开并运行更长时间,则需要将 msgcount 指定为大于 10 的数字。

    【讨论】:

    • 我将参数 msgcount 增加到 10000,但 mqreply 也在 5 秒后关闭。
    • 也许你需要编辑那个while循环?你知道最终 MQGET 收到的 compcode 和原因码是什么吗?
    • 是的,你是对的。我们决定在while上改变条件。谢谢。
    猜你喜欢
    • 2021-09-06
    • 2013-04-03
    • 2013-09-30
    • 2019-12-06
    • 2020-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多