import time from settings import settings from v2 import * db_client = CK(**settings.CK_CONFIG) sketch = Sketch(db_client) handler_event = HandlerEvent(db_client, settings.GAME) handler_user = HandlerUser(db_client, settings.GAME) transmitter = Transmitter(db_client, sketch) def run(): transmitter.add_source(handler_event, 1000, 60) transmitter.add_source(handler_user, 500, 60) i = 0 ts = time.time() * 1000 for topic, msg in consumer(): i += 1 if i > 10000: print(time.time() * 1000 - ts) ts = time.time() * 1000 i = 0 type_ = msg['#type'] del msg['#type'] db = settings.APPID_TO_CKDB.get(msg['#app_id']) if 'user' in type_: # continue obj = getattr(handler_user, type_) handler_user.receive_data.append(User(obj, db, msg)) if len(handler_user.receive_data) >= 1000: handler_user.execute() elif 'track' in type_: # continue obj = getattr(handler_event, type_) obj(db, msg) else: continue transmitter.run() if __name__ == '__main__': run()