def publish(self, channel, data, timestamp=None): if not timestamp: timestamp = time.time() queue = ConnectionPool().getConnection() logging.getLogger().debug('Event:publish(%s): %s ' % (channel, data)) message = json.dumps(data) queue.publish(channel, message) queue.zadd(channel, timestamp, message) queue.expire(channel, self.timeout)