tornado: Move event_queue.py to zerver/tornado/.

Fixes #729.
This commit is contained in:
Tim Abbott 2016-11-26 21:56:06 -08:00
parent 1fcf2ff525
commit 3d1bcb05e1
12 changed files with 19 additions and 21 deletions

View File

@ -197,13 +197,13 @@ thread. It's also used for communication between the application server
and the Tornado push system. and the Tornado push system.
Two simple wrappers around `pika` (the Python RabbitMQ client) are in Two simple wrappers around `pika` (the Python RabbitMQ client) are in
`zulip/server/lib/queue.py`. There's an asynchronous client for use in `zulip/zerver/lib/queue.py`. There's an asynchronous client for use in
Tornado and a more general client for use elsewhere. Tornado and a more general client for use elsewhere.
`zerver/lib/event_queue.py` has helper functions for putting events into `zerver/tornado/event_queue.py` has helper functions for putting
one queue or another. Most of the processes started by Supervisor are events into one queue or another. Most of the processes started by
queue processors that continually pull things out of a RabbitMQ queue Supervisor are queue processors that continually pull things out of a
and handle them. RabbitMQ queue and handle them.
Also see [the queuing guide](queuing.html). Also see [the queuing guide](queuing.html).

View File

@ -11,7 +11,7 @@ var DEFAULT_IDLE_TIMEOUT_MS = 5 * 60 * 1000;
var ACTIVE_PING_INTERVAL_MS = 50 * 1000; var ACTIVE_PING_INTERVAL_MS = 50 * 1000;
/* Mark users as offline after 140 seconds since their last checkin, /* Mark users as offline after 140 seconds since their last checkin,
* Keep in sync with zerver/lib/event_queue.py:receiver_is_idle * Keep in sync with zerver/tornado/event_queue.py:receiver_is_idle
*/ */
var OFFLINE_THRESHOLD_SECS = 140; var OFFLINE_THRESHOLD_SECS = 140;

View File

@ -69,7 +69,6 @@ from zerver.lib.cache import cache_with_key, cache_set, \
user_profile_by_email_cache_key, cache_set_many, \ user_profile_by_email_cache_key, cache_set_many, \
cache_delete, cache_delete_many cache_delete, cache_delete_many
from zerver.decorator import statsd_increment from zerver.decorator import statsd_increment
from zerver.lib.event_queue import request_event_queue, get_user_events, send_event
from zerver.lib.utils import log_statsd_event, statsd from zerver.lib.utils import log_statsd_event, statsd
from zerver.lib.html_diff import highlight_html_differences from zerver.lib.html_diff import highlight_html_differences
from zerver.lib.alert_words import user_alert_words, add_user_alert_words, \ from zerver.lib.alert_words import user_alert_words, add_user_alert_words, \
@ -83,6 +82,7 @@ from zerver.lib.session_user import get_session_user
from zerver.lib.upload import attachment_url_re, attachment_url_to_path_id, \ from zerver.lib.upload import attachment_url_re, attachment_url_to_path_id, \
claim_attachment, delete_message_image claim_attachment, delete_message_image
from zerver.lib.str_utils import NonBinaryStr, force_str from zerver.lib.str_utils import NonBinaryStr, force_str
from zerver.tornado.event_queue import request_event_queue, get_user_events, send_event
import DNS import DNS
import ujson import ujson

View File

@ -19,7 +19,6 @@ from zerver.lib.initial_password import initial_password
from zerver.lib.db import TimeTrackingCursor from zerver.lib.db import TimeTrackingCursor
from zerver.lib.str_utils import force_text from zerver.lib.str_utils import force_text
from zerver.lib import cache from zerver.lib import cache
from zerver.lib import event_queue
from zerver.tornado.handlers import allocate_handler_id from zerver.tornado.handlers import allocate_handler_id
from zerver.worker import queue_processors from zerver.worker import queue_processors

View File

@ -19,7 +19,7 @@ from zerver.lib.initial_password import initial_password
from zerver.lib.db import TimeTrackingCursor from zerver.lib.db import TimeTrackingCursor
from zerver.lib.str_utils import force_text from zerver.lib.str_utils import force_text
from zerver.lib import cache from zerver.lib import cache
from zerver.lib import event_queue from zerver.tornado import event_queue
from zerver.tornado.handlers import allocate_handler_id from zerver.tornado.handlers import allocate_handler_id
from zerver.worker import queue_processors from zerver.worker import queue_processors

View File

@ -17,10 +17,10 @@ from tornado.log import app_log
from typing import Callable from typing import Callable
from zerver.lib.debug import interactive_debug_listen from zerver.lib.debug import interactive_debug_listen
from zerver.lib.event_queue import process_notification, missedmessage_hook
from zerver.lib.event_queue import setup_event_queue, add_client_gc_hook
from zerver.lib.queue import setup_tornado_rabbitmq from zerver.lib.queue import setup_tornado_rabbitmq
from zerver.tornado.application import create_tornado_application from zerver.tornado.application import create_tornado_application
from zerver.tornado.event_queue import add_client_gc_hook, \
missedmessage_hook, process_notification, setup_event_queue
from zerver.tornado.socket import respond_send_message from zerver.tornado.socket import respond_send_message
import logging import logging

View File

@ -51,7 +51,6 @@ from zerver.lib.actions import (
get_subscription get_subscription
) )
from zerver.lib.event_queue import allocate_client_descriptor
from zerver.lib.message import render_markdown from zerver.lib.message import render_markdown
from zerver.lib.test_helpers import POSTRequestMock from zerver.lib.test_helpers import POSTRequestMock
from zerver.lib.test_classes import ( from zerver.lib.test_classes import (
@ -64,6 +63,7 @@ from zerver.lib.validator import (
from zerver.views.events_register import _default_all_public_streams, _default_narrow from zerver.views.events_register import _default_all_public_streams, _default_narrow
from zerver.tornado.event_queue import allocate_client_descriptor, EventQueue
from zerver.tornado.views import get_events_backend from zerver.tornado.views import get_events_backend
from collections import OrderedDict from collections import OrderedDict
@ -923,7 +923,6 @@ class FetchInitialStateDataTest(ZulipTestCase):
result = fetch_initial_state_data(user_profile, None, "") result = fetch_initial_state_data(user_profile, None, "")
self.assertTrue(len(result['realm_bots']) > 5) self.assertTrue(len(result['realm_bots']) > 5)
from zerver.lib.event_queue import EventQueue
class EventQueueTest(TestCase): class EventQueueTest(TestCase):
def test_one_event(self): def test_one_event(self):
# type: () -> None # type: () -> None

View File

@ -17,7 +17,6 @@ from django.http import HttpRequest, HttpResponse
from tornado.gen import Return from tornado.gen import Return
from tornado.httpclient import HTTPRequest from tornado.httpclient import HTTPRequest
from zerver.lib.event_queue import fetch_events
from zerver.lib.test_helpers import POSTRequestMock from zerver.lib.test_helpers import POSTRequestMock
from zerver.lib.test_classes import ZulipTestCase from zerver.lib.test_classes import ZulipTestCase
@ -29,6 +28,7 @@ from tornado.web import Application
from tornado.websocket import websocket_connect from tornado.websocket import websocket_connect
from zerver.tornado.application import create_tornado_application from zerver.tornado.application import create_tornado_application
from zerver.tornado.event_queue import fetch_events
from zerver.tornado.views import get_events_backend from zerver.tornado.views import get_events_backend
from six.moves.http_cookies import SimpleCookie from six.moves.http_cookies import SimpleCookie

View File

@ -3,19 +3,19 @@ from __future__ import print_function
from typing import Any, Optional from typing import Any, Optional
if False: import zerver.lib.event_queue if False: import zerver.tornado.event_queue
descriptors_by_handler_id = {} # type: Dict[int, zerver.lib.event_queue.ClientDescriptor] descriptors_by_handler_id = {} # type: Dict[int, zerver.tornado.event_queue.ClientDescriptor]
def get_descriptor_by_handler_id(handler_id): def get_descriptor_by_handler_id(handler_id):
# type: (int) -> zerver.lib.event_queue.ClientDescriptor # type: (int) -> zerver.tornado.event_queue.ClientDescriptor
return descriptors_by_handler_id.get(handler_id) return descriptors_by_handler_id.get(handler_id)
def set_descriptor_by_handler_id(handler_id, client_descriptor): def set_descriptor_by_handler_id(handler_id, client_descriptor):
# type: (int, zerver.lib.event_queue.ClientDescriptor) -> None # type: (int, zerver.tornado.event_queue.ClientDescriptor) -> None
descriptors_by_handler_id[handler_id] = client_descriptor descriptors_by_handler_id[handler_id] = client_descriptor
def clear_descriptor_by_handler_id(handler_id, client_descriptor): def clear_descriptor_by_handler_id(handler_id, client_descriptor):
# type: (int, Optional[zerver.lib.event_queue.ClientDescriptor]) -> None # type: (int, Optional[zerver.tornado.event_queue.ClientDescriptor]) -> None
del descriptors_by_handler_id[handler_id] del descriptors_by_handler_id[handler_id]

View File

@ -26,11 +26,11 @@ from zerver.lib.queue import queue_json_publish
from zerver.lib.actions import check_send_message, extract_recipients from zerver.lib.actions import check_send_message, extract_recipients
from zerver.decorator import JsonableError from zerver.decorator import JsonableError
from zerver.lib.utils import statsd from zerver.lib.utils import statsd
from zerver.lib.event_queue import get_client_descriptor
from zerver.middleware import record_request_start_data, record_request_stop_data, \ from zerver.middleware import record_request_start_data, record_request_stop_data, \
record_request_restart_data, write_log_line, format_timedelta record_request_restart_data, write_log_line, format_timedelta
from zerver.lib.redis_utils import get_redis_client from zerver.lib.redis_utils import get_redis_client
from zerver.lib.session_user import get_session_user from zerver.lib.session_user import get_session_user
from zerver.tornado.event_queue import get_client_descriptor
logger = logging.getLogger('zulip.socket') logger = logging.getLogger('zulip.socket')

View File

@ -13,7 +13,7 @@ from zerver.decorator import asynchronous, \
from zerver.lib.response import json_success, json_error from zerver.lib.response import json_success, json_error
from zerver.lib.validator import check_bool, check_list, check_string from zerver.lib.validator import check_bool, check_list, check_string
from zerver.lib.event_queue import get_client_descriptor, \ from zerver.tornado.event_queue import get_client_descriptor, \
process_notification, fetch_events process_notification, fetch_events
from django.core.handlers.base import BaseHandler from django.core.handlers.base import BaseHandler