import threading from flask import Flask from flask_redis import Redis from redis import StrictRedis from event_logger import EventLogger # TOGGLE if every received message shall be redirected to redis LOG_TO_REDIS = True # TOGGLE if every received message shall be printed to console VERBOSE = True # make sure redis (container) is running and accessible # see https://flask-and-redis.readthedocs.io/en/latest/ # see https://github.com/andymccurdy/redis-py app = Flask(__name__) app.config["REDIS_HOST"] = "redis" app.config["REDIS_PORT"] = 6379 redis: StrictRedis = Redis(app) @app.route("/") def get_keys(): keys = redis.keys() keys.sort() return 'Existing keys:

{}'.format( ['{0}'.format(key.decode()) for key in keys]) + \ 'DAF: DatenaufzeichnungAutonomesFahren, TL: TrafficLight, TV: TargetVelocity' \ '

' \ '

Access Api via

' \ 'GET /api/keys
' \ 'GET /api/keys/<key>
' @app.route("/api/keys") def api_get_keys(): return el.get_keys() @app.route("/api/keys//") def api_get_of_key(key): return el.get_list_of(key) @app.route("/api/keys///") def api_get_index_of_key(key, index): return el.get_index_of(key, index) if __name__ == '__main__': el = EventLogger(redis, LOG_TO_REDIS, VERBOSE) threading.Thread(target=el.setup_msq_queue).start() threading.Thread(target=app.run, args=('0.0.0.0', 5001)).start()