Use events API in our Nagios monitoring scripts
(imported from commit 9b370e420095f17fbb7e9d1e466d51dd2e145de1)
This commit is contained in:
parent
540aaa74f2
commit
9f3766dd4a
|
@ -129,12 +129,12 @@ def send_zephyr(zwrite_args, content):
|
||||||
|
|
||||||
# Subscribe to Zulip
|
# Subscribe to Zulip
|
||||||
try:
|
try:
|
||||||
res = zulip_client.get_profile()
|
res = zulip_client.register(event_types=["message"])
|
||||||
max_message_id = res.get('max_message_id')
|
if 'error' in res.get('result'):
|
||||||
if max_message_id is None:
|
|
||||||
logging.error("Error subscribing to Zulips!")
|
logging.error("Error subscribing to Zulips!")
|
||||||
logging.error(res)
|
logging.error(res['msg'])
|
||||||
print_status_and_exit(1)
|
print_status_and_exit(1)
|
||||||
|
queue_id, last_event_id = (res['queue_id'], res['last_event_id'])
|
||||||
except Exception:
|
except Exception:
|
||||||
logger.exception("Unexpected error subscribing to Zulips")
|
logger.exception("Unexpected error subscribing to Zulips")
|
||||||
print_status_and_exit(1)
|
print_status_and_exit(1)
|
||||||
|
@ -265,7 +265,12 @@ receive_zephyrs()
|
||||||
logger.info("Starting receiving messages!")
|
logger.info("Starting receiving messages!")
|
||||||
|
|
||||||
# receive zulips
|
# receive zulips
|
||||||
messages = zulip_client.get_messages({'last': str(max_message_id)})['messages']
|
res = zulip_client.get_events(queue_id=queue_id, last_event_id=last_event_id)
|
||||||
|
if 'error' in res.get('result'):
|
||||||
|
logging.error("Error subscribing to Zulips!")
|
||||||
|
logging.error(res['msg'])
|
||||||
|
print_status_and_exit(1)
|
||||||
|
messages = [event['message'] for event in res['events']]
|
||||||
logger.info("Finished receiving Zulip messages!")
|
logger.info("Finished receiving Zulip messages!")
|
||||||
|
|
||||||
receive_zephyrs()
|
receive_zephyrs()
|
||||||
|
|
Loading…
Reference in a new issue