mirror of
https://github.com/zulip/zulip.git
synced 2025-11-02 04:53:36 +00:00
Add logging for when we disconnected an active handler.
(imported from commit 18c21a93bdf14485e5656bd7a38f2069eb8f2aad)
This commit is contained in:
@@ -129,11 +129,13 @@ class ClientDescriptor(object):
|
||||
self._timeout_handle = ioloop.add_timeout(heartbeat_time, timeout_callback)
|
||||
|
||||
def disconnect_handler(self):
|
||||
was_connected = (self.current_handler is not None)
|
||||
self.current_handler = None
|
||||
if self._timeout_handle is not None:
|
||||
ioloop = tornado.ioloop.IOLoop.instance()
|
||||
ioloop.remove_timeout(self._timeout_handle)
|
||||
self._timeout_handle = None
|
||||
return was_connected
|
||||
|
||||
def cleanup(self):
|
||||
do_gc_event_queues([self.event_queue.id], [self.user_profile_id],
|
||||
|
@@ -52,6 +52,7 @@ def get_events_backend(request, user_profile, handler = None,
|
||||
if user_client is None:
|
||||
user_client = request.client
|
||||
|
||||
was_connected = False
|
||||
orig_queue_id = queue_id
|
||||
if queue_id is None:
|
||||
if dont_block:
|
||||
@@ -70,16 +71,21 @@ def get_events_backend(request, user_profile, handler = None,
|
||||
if user_profile.id != client.user_profile_id:
|
||||
return json_error("You are not authorized to get events from this queue")
|
||||
client.event_queue.prune(last_event_id)
|
||||
client.disconnect_handler()
|
||||
was_connected = client.disconnect_handler()
|
||||
|
||||
if not client.event_queue.empty() or dont_block:
|
||||
ret = {'events': client.event_queue.contents()}
|
||||
if orig_queue_id is None:
|
||||
ret['queue_id'] = queue_id
|
||||
request._log_data['extra'] = "[%s/%s]" % (queue_id, len(ret["events"]))
|
||||
if was_connected:
|
||||
request._log_data['extra'] += " [was connected]"
|
||||
return json_success(ret)
|
||||
|
||||
handler._request = request
|
||||
if was_connected:
|
||||
logging.info("Disconnected handler for queue %s (%s/%s)" % (queue_id, user_profile.email,
|
||||
user_client.name))
|
||||
client.connect_handler(handler)
|
||||
|
||||
# runtornado recognizes this special return value.
|
||||
|
Reference in New Issue
Block a user