def main(): global options, member_service, interconnect parser = argparse.ArgumentParser(sys.argv[0]) parser.add_argument('--host', default='127.0.0.1') parser.add_argument('--port', type=int, default=7001) parser.add_argument('--redis-url', default='redis://localhost:6379') parser.add_argument('--member-service', default='localhost') parser.add_argument('--discuz-cookiepre', default='VfKd_') options = parser.parse_args() member_service = RPCClient((options.member_service, 7000), timeout=2) interconnect = Interconnect.spawn('forum', options.redis_url) run(server='gevent', host=options.host, port=options.port)
def main(): global options, member_service, interconnect, log parser = argparse.ArgumentParser('aya_charger') parser.add_argument('--redis-url', default='redis://localhost:6379') parser.add_argument('--member-service', default='localhost') parser.add_argument('--log', default='INFO') options = parser.parse_args() logging.basicConfig(stream=sys.stdout, level=getattr(logging, options.log)) log = logging.getLogger('aya_charger') member_service = RPCClient((options.member_service, 7000), timeout=2) interconnect = Interconnect.spawn('charger', options.redis_url) gevent.hub.get_hub().join()
self.notify('current_users', rst) if topic == 'speaker': # [node, username, content] message.insert(0, node) self.notify('speaker', message) def notify(self, key, message): @gevent.spawn def _notify(): events_history.rotate() events_history[0] = [[key, message], time.time()] [evt.set() for evt in list(event_waiters)] Interconnect = Interconnect.spawn('forum', options.redis, options.redis_port) @route('/interconnect/onlineusers') def onlineusers(): rst = [] map(rst.__iadd__, current_users.values()) return json.dumps(rst) @route('/interconnect/events') def events(): try: last = float(request.get_cookie('interconnect_last_event')) except: last = time.time()
self.notify('current_users', rst) if topic == 'speaker': # [node, username, content] message.insert(0, node) self.notify('speaker', message) def notify(self, key, message): @gevent.spawn def _notify(): events_history.rotate() events_history[0] = [[key, message], time.time()] [evt.set() for evt in list(event_waiters)] Interconnect = Interconnect.spawn('forum', options.redis, options.redis_port) @route('/interconnect/onlineusers') def onlineusers(): rst = [] map(rst.__iadd__, current_users.values()) return json.dumps(rst) @route('/interconnect/events') def events(): try: last = float(request.get_cookie('interconnect_last_event')) except: last = time.time()