コード例 #1
0
ファイル: kafka_stream.py プロジェクト: Cal1ban/CreaturesGA
from kafka import KafkaProducer
from People.Storage.PositionCache import PositionCache
from People.Interface.move import MovementRequest
from Mapping.Interface.map import Terrain
from Utilities.Stream.Stream import start_stream

producer = KafkaProducer(bootstrap_servers=['0.0.0.0:9092'])
pos_repo = PositionCache()


def store_into_cache(movement):
    if movement.destination.terrain == Terrain.MOUNTAIN:
        print("Blocked by mountain")
        return
    new_pos = pos_repo.update_position(movement)
    print("new pos", new_pos)
    producer.send("position", new_pos.SerializeToString())


start_stream("main", store_into_cache, [MovementRequest])
コード例 #2
0
ファイル: ParsingTest.py プロジェクト: Cal1ban/CreaturesGA
from People.Interface.move_pb2 import MovementRequest, UpdatedPosition
from Utilities.Stream.Stream import start_stream

start_stream("Parsing", lambda x: print(x), [MovementRequest])