diff --git a/app.py b/app.py index d474e71..bebb909 100644 --- a/app.py +++ b/app.py @@ -27,7 +27,7 @@ logging.basicConfig( ) LOGGER = logging.getLogger(__name__) -KNOWNCONSUMER = os.getenv("PRODUCER_KNOWNCONSUMER",'10.69.42.1') +KNOWNCONSUMER = os.getenv("PRODUCER_KNOWNCONSUMER", '10.69.42.1') if __name__ == "__main__": """ diff --git a/consumerlocator.py b/consumerlocator.py index b2fc4af..5fb91aa 100644 --- a/consumerlocator.py +++ b/consumerlocator.py @@ -15,6 +15,7 @@ __version__text__ = "1" KNOWNCONSUMER = os.getenv("PRODUCER_KNOWNCONSUMER",'10.69.42.1') + class ConsumerLocator: """ diff --git a/redisconnector.py b/redisconnector.py new file mode 100644 index 0000000..30dd958 --- /dev/null +++ b/redisconnector.py @@ -0,0 +1,62 @@ +#!/usr/bin/env python + +import os +import redis +import json + +""" +Redis interaction +""" + +__author__ = "@tormakris" +__copyright__ = "Copyright 2020, GoldenPogácsa Team" +__module_name__ = "redis" +__version__text__ = "1" + + +REDISHOST = os.getenv("PRODUCER_REDIS", 'localhost') + + +class RedisConnector: + """ + Class abstracting Redis communication + """ + def __init__(self): + """ + Initialize class + """ + self.redisconnection = redis.StrictRedis(host=REDISHOST, port=6379, db=0) + + def get_consumerlist(self): + """ + Gets list of consumers stored in Redis. + :return: + """ + return json.loads(self.redisconnection.get('consumerList')) + + def set_consumerlist(self, consumerlist): + """ + Sets list of consumers stored in Redis. + :param consumerlist: + :return: + """ + json_list = json.dumps(consumerlist) + self.redisconnection.set('consumerList', json_list) + + def get_currentconsumer(self): + """ + Gets currently active consumer. + :return: + """ + return self.redisconnection.get('currentConsumer') + + def set_currentconsumer(self, currentconsumer): + """ + Sets currently active consumer + :param currentconsumer: + :return: + """ + self.redisconnection.set('currentConsumer', currentconsumer) + + consumerlist = property(get_consumerlist, set_consumerlist) + currentconsumer = property(get_currentconsumer, set_currentconsumer) diff --git a/requirements.txt b/requirements.txt index 60339c2..a714251 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,4 +2,5 @@ sentry_sdk requests pytest pytest-mock -pytest-httpserver \ No newline at end of file +pytest-httpserver +redis \ No newline at end of file