mirror of
https://github.com/zulip/zulip.git
synced 2025-11-05 22:43:42 +00:00
[manual] Use ujson instead of simplejson.
This saves something like 15ms on our 1000 message get_old_messages queries, and will save even more when we start sending JSON dumps into our memcached system. We need to install python-ujson on servers and dev instances before pushing this to prod. (imported from commit 373690b7c056d00d2299a7588a33f025104bfbca)
This commit is contained in:
@@ -3,7 +3,7 @@ from __future__ import absolute_import
|
||||
from django.conf import settings
|
||||
import pika
|
||||
import logging
|
||||
import simplejson
|
||||
import ujson
|
||||
import random
|
||||
import time
|
||||
import threading
|
||||
@@ -84,12 +84,12 @@ class SimpleQueueClient(object):
|
||||
|
||||
def json_publish(self, queue_name, body):
|
||||
try:
|
||||
return self.publish(queue_name, simplejson.dumps(body))
|
||||
return self.publish(queue_name, ujson.dumps(body))
|
||||
except (AttributeError, pika.exceptions.AMQPConnectionError):
|
||||
self.log.warning("Failed to send to rabbitmq, trying to reconnect and send again")
|
||||
self._reconnect()
|
||||
|
||||
return self.publish(queue_name, simplejson.dumps(body))
|
||||
return self.publish(queue_name, ujson.dumps(body))
|
||||
|
||||
def register_consumer(self, queue_name, consumer):
|
||||
def wrapped_consumer(ch, method, properties, body):
|
||||
@@ -103,7 +103,7 @@ class SimpleQueueClient(object):
|
||||
|
||||
def register_json_consumer(self, queue_name, callback):
|
||||
def wrapped_callback(ch, method, properties, body):
|
||||
return callback(ch, method, properties, simplejson.loads(body))
|
||||
return callback(ch, method, properties, ujson.loads(body))
|
||||
return self.register_consumer(queue_name, wrapped_callback)
|
||||
|
||||
def drain_queue(self, queue_name, json=False):
|
||||
@@ -118,7 +118,7 @@ class SimpleQueueClient(object):
|
||||
|
||||
self.channel.basic_ack(meta.delivery_tag)
|
||||
if json:
|
||||
message = simplejson.loads(message)
|
||||
message = ujson.loads(message)
|
||||
messages.append(message)
|
||||
|
||||
self.ensure_queue(queue_name, opened)
|
||||
|
||||
Reference in New Issue
Block a user