我想创建一个日志监视器,因此它监视日志并解析日志然后保存到数据库并通过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'
答案 0 :(得分:0)
在第一个signal.alarm(0)
阻止后,将finally:
移至else:
阻止,以确保无论stomp.push(msg, destination=channel)
成功与否,都会清除闹钟。
执行此操作将帮助您专注于失败的真正原因,我怀疑这是stomp.push(msg, destination=channel)
抛出异常的结果 - 可能是因为远程服务器的返回值无法通过stomp解析库。