def main(): logger = get_logger('aggregate') red = redis.StrictRedis() red.get('test') sub = red.pubsub() sub.subscribe(redis_key) last_usdbtc_quote = None last_btcdash_quote = None for message in sub.listen(): if message['type'] != 'message': continue data = json.loads(message['data']) market = data.pop('market') if data['source'] == 'poloniex': if market != 'BTC_DASH': raise Exception("Unknown market {}".format(market)) last_btcdash_quote = data elif data['source'] == 'coinapult': if market != 'USD_BTC': raise Exception("Unknown market {}".format(market)) last_usdbtc_quote = data tick = get_ticker(last_usdbtc_quote, last_btcdash_quote) store(red, logger, tick)
def __init__(self, logger, on_message): self.redis = redis.StrictRedis() # Check if a redis-server is running. self.redis.get('test') if isinstance(logger, basestring): self.logger = get_logger(logger) else: self.logger = logger self._on_message = on_message