def get_message_response(msg): redis = Redis(**bus().redis_args) response = redis.blpop(get_redis_queue_name_by_message(msg), timeout=60) if response and len(response) > 1: response = Message.build(response[1]) else: response = None return response
def _send_response(self, response): response = Response.build(response) response.id = self.id response.target = self.origin response.origin = Config.get('device_id') if self.backend and self.origin: self.backend.send_response(response=response, request=self) else: redis = get_plugin('redis') if redis: queue_name = get_redis_queue_name_by_message(self) redis.send_message(queue_name, response) redis.expire(queue_name, 60)
def get_message_response(self, msg): try: redis = self._get_redis() response = redis.blpop(get_redis_queue_name_by_message(msg), timeout=60) if response and len(response) > 1: response = Message.build(response[1]) else: response = None return response except Exception as e: self.logger.error( 'Error while processing response to {}: {}'.format( msg, str(e)))