From 7c47c360c3f2f54dec8e1df29b90eee680d9288e Mon Sep 17 00:00:00 2001 From: "Bernhard K. Weisshuhn" Date: Thu, 6 Feb 2014 00:47:30 +0100 Subject: [PATCH] force message buffers to strings before decoding See Section "Buffer Objects:" in http://kombu.readthedocs.org/en/latest/userguide/serialization.html Conflicts: worker/worker.py --- worker/worker.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/worker/worker.py b/worker/worker.py index e5d9b1b..10abd19 100644 --- a/worker/worker.py +++ b/worker/worker.py @@ -19,6 +19,7 @@ import datetime import sys import time +import anyjson import kombu import kombu.mixins @@ -38,6 +39,7 @@ from stacktach import db from stacktach import message_service from stacktach import stacklog from stacktach import views +from kombu.serialization import BytesIO, register stacklog.set_default_logger_name('worker') @@ -61,6 +63,13 @@ class Consumer(kombu.mixins.ConsumerMixin): self.topics = topics self.exchange = exchange + register('bufferjson', self.loads, anyjson.dumps, + content_type='application/json', + content_encoding='binary') + + def loads(s): + return anyjson.loads(BytesIO(s)) + def _create_exchange(self, name, type, exclusive=False, auto_delete=False): return message_service.create_exchange(name, exchange_type=type, exclusive=exclusive,