This commit is contained in:
Marco Zeisler
2021-05-27 20:13:22 +02:00
parent f8d07d9bdf
commit 8e5580ca7b
5 changed files with 0 additions and 0 deletions
@@ -0,0 +1,22 @@
import pickle
from flask_redis import Redis
from dse_shared_libs.message_broker_wrapper import MBWrapper
class EventLogger:
redis: Redis
def __init__(self, redis):
self.redis = redis
@staticmethod
def log(msg):
try:
print("{}".format(pickle.loads(msg)))
except Exception as e:
print("Could not unpickle [{}]: {}", msg, e)
def setup_msq_queue(self):
mb = MBWrapper(exchange_name='logger', callback=self.log)
mb.setup_receiver()
@@ -0,0 +1,30 @@
import threading
from event_logger import EventLogger
from flask import Flask
from flask_redis import Redis
# 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 = Redis(app)
@app.route("/")
def home_page():
redis.set('tl1', 'sending change red -> green <br>')
redis.append('tl1', 'sending change green -> red <br>')
redis.set('v1', 'receiving vel 100 km/h <br>')
return redis.get('tl1') + redis.get('v1')
if __name__ == '__main__':
el = EventLogger(redis)
threading.Thread(target=el.setup_msq_queue).start()
threading.Thread(target=app.run).start()
@@ -0,0 +1,2 @@
flask
Flask-And-Redis