1

我想做一个日志监视器,所以它监视日志并解析日志,然后保存到数据库并通过 stomp 推送该数据。是的,它成功推送数据,但是在我推送数据后,我收到错误消息> "Alarm Clock" and the program stopped !

这是我的代码:

def sent_msg(msg,channel)    
    try:
        stomp = Client(host="localhost", port=54123)
        stomp.connect()
        stomp.subscribe(channel)
        signal.alarm(1)
        stomp.put(msg, destination=channel)
        signal.alarm(0)
    except Exception,err:
        print err
    else:
        print 'succes'


try:
    msg = """
    <td>%s</td>
    <td>%s</td>
    <td>%s</td>
    <td>%s</td>
    <td>%s</td>
    """%(ip,dt,time,ua,req)
    sent_msg(msg,'/monitor_sqli')
except Exception, err:
    print err
else:
    print 'exist'
4

1 回答 1

0

在您的第一个块之后移动signal.alarm(0)到一个块,以确保无论成功与否都清除警报。finally:else:stomp.push(msg, destination=channel)

这样做将帮助您专注于失败的真正原因,我怀疑这是抛出异常的结果stomp.push(msg, destination=channel)- 可能是因为 stomp 库无法解析来自远程服务器的返回值。

于 2013-04-03T00:22:09.330 回答