48 lines
1.2 KiB
Python
48 lines
1.2 KiB
Python
import time
|
|
|
|
from settings import settings
|
|
from v2 import *
|
|
|
|
db_client = CK(**settings.CK_CONFIG)
|
|
sketch = Sketch(db_client)
|
|
handler_event = HandlerEvent(db_client)
|
|
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()
|