move redis logic to event_logger.py

This commit is contained in:
Marco Zeisler 2021-06-02 20:50:40 +02:00
parent 52d2e0af27
commit 8a1557e7bd
2 changed files with 16 additions and 10 deletions

View File

@ -1,10 +1,11 @@
import json
import pickle import pickle
from redis import StrictRedis
from dse_shared_libs.daf import DAF from dse_shared_libs.daf import DAF
from dse_shared_libs.message_broker_wrapper import MBWrapper
from dse_shared_libs.target_velocity import TargetVelocity from dse_shared_libs.target_velocity import TargetVelocity
from dse_shared_libs.traffic_light_state import TrafficLightState from dse_shared_libs.traffic_light_state import TrafficLightState
from dse_shared_libs.message_broker_wrapper import MBWrapper from redis import StrictRedis
class EventLogger: class EventLogger:
@ -13,6 +14,17 @@ class EventLogger:
self.log_to_redis = log_to_redis self.log_to_redis = log_to_redis
self.verbose = verbose self.verbose = verbose
def setup_msq_queue(self):
mb = MBWrapper(exchange_name='logger', callback=self.log)
mb.setup_receiver()
def get_keys(self):
return json.dumps([key.decode() for key in self.redis.keys()])
def get_value_of(self, key):
key = self.redis.get(key)
return key.decode() if key else json.dumps("")
def log(self, msg): def log(self, msg):
try: try:
msg = pickle.loads(msg) msg = pickle.loads(msg)
@ -39,7 +51,3 @@ class EventLogger:
self.redis.append(key, "{}<br>".format(to_log)) self.redis.append(key, "{}<br>".format(to_log))
if self.verbose: if self.verbose:
print(to_log) print(to_log)
def setup_msq_queue(self):
mb = MBWrapper(exchange_name='logger', callback=self.log)
mb.setup_receiver()

View File

@ -1,4 +1,3 @@
import json
import threading import threading
from flask import Flask from flask import Flask
@ -25,13 +24,12 @@ redis: StrictRedis = Redis(app)
@app.route("/api/keys") @app.route("/api/keys")
def api_get_keys(): def api_get_keys():
return json.dumps([key.decode() for key in redis.keys()]) return el.get_keys()
@app.route("/api/keys/<key>/") @app.route("/api/keys/<key>/")
def api_get_of_key(key): def api_get_of_key(key):
key = redis.get(key) return el.get_value_of(key)
return key.decode() if key else json.dumps("")
@app.route("/") @app.route("/")