def __init__(self, *args, **kwargs): super(Channel, self).__init__(*args, **kwargs) parts = self.connection.client dsn = build_dsn(scheme='postgres', hostname=parts.hostname, port=parts.port, path=parts.virtual_host, username=parts.userid, password=parts.password) self.queue = PGQueue(dsn)
class Channel(virtual.Channel): def __init__(self, *args, **kwargs): super(Channel, self).__init__(*args, **kwargs) parts = self.connection.client dsn = build_dsn(scheme='postgres', hostname=parts.hostname, port=parts.port, path=parts.virtual_host, username=parts.userid, password=parts.password) self.queue = PGQueue(dsn) def _new_queue(self, queue, **kwargs): self.queue.create(queue) def _get(self, queue, timeout=None): id, message = self.queue.get_nowait(queue) payload = loads(message) payload['message_id'] = id return payload def _put(self, queue, message, **kwargs): self.queue.put(queue, dumps(message)) def _purge(self, queue): return self.queue.purge(queue) def _restore(self, message): return self.queue.restore(message) def close(self): super(Channel, self).close() self.queue.close()
class Channel(virtual.Channel): def __init__(self, *args, **kwargs): super(Channel, self).__init__(*args, **kwargs) parts = self.connection.client dsn = build_dsn(scheme='postgres', hostname=parts.hostname, port=parts.port, path=parts.virtual_host, username=parts.userid, password=parts.password) self.queue = PGQueue(dsn) def _new_queue(self, queue, **kwargs): retry(lambda: self.queue.create(queue), onerror=logger.warning) def _get(self, queue, timeout=None): _, message = self.queue.get_nowait(queue) return loads(message) def _put(self, queue, message, **kwargs): retry(lambda: self.queue.put(queue, dumps(message)), onerror=logger.warning) def _purge(self, queue): return retry(lambda: self.queue.purge(queue), onerror=logger.warning) def close(self): super(Channel, self).close() self.queue.close()