mirror of
https://github.com/zulip/zulip.git
synced 2025-11-06 06:53:25 +00:00
[manual] Use rabbitmq for asynchronous presence updating
Note: When deploying, restarting the process-user-activity-commandline script is needed (imported from commit 63ee795c9c7a7db4a40170cff5636dc1dd0b46a8)
This commit is contained in:
@@ -2,21 +2,26 @@ from optparse import make_option
|
||||
from django.core.management.base import BaseCommand
|
||||
import simplejson
|
||||
import pika
|
||||
from zephyr.lib.actions import process_user_activity_event
|
||||
from zephyr.lib.actions import process_user_activity_event, process_user_presence_event
|
||||
from zephyr.lib.queue import SimpleQueueClient
|
||||
|
||||
class Command(BaseCommand):
|
||||
option_list = BaseCommand.option_list
|
||||
help = "Process UserActivity log messages."
|
||||
help = "Process UserActivity & UserPresence log messages."
|
||||
|
||||
def handle(self, *args, **options):
|
||||
activity_queue = SimpleQueueClient.get_instance()
|
||||
activity_queue = SimpleQueueClient()
|
||||
|
||||
def callback(ch, method, properties, event):
|
||||
print " [x] Received %r" % (event,)
|
||||
def callback_activity(ch, method, properties, event):
|
||||
print " [x] Received activity %r" % (event,)
|
||||
process_user_activity_event(event)
|
||||
|
||||
def callback_presence(ch, method, properties, event):
|
||||
print " [x] Received presence %r" % (event,)
|
||||
process_user_presence_event(event)
|
||||
|
||||
print ' [*] Waiting for messages. To exit press CTRL+C'
|
||||
activity_queue.register_json_consumer('user_activity', callback)
|
||||
activity_queue.register_json_consumer('user_activity', callback_activity)
|
||||
activity_queue.register_json_consumer('user_presence', callback_presence)
|
||||
activity_queue.start_consuming()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user