Merge pull request 'redis communicator' (#7) from redis into master
continuous-integration/drone/push Build is passing Details

This commit is contained in:
Torma Kristóf 2020-04-17 16:20:43 +02:00
commit eff5f4191c
4 changed files with 66 additions and 2 deletions

2
app.py
View File

@ -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__":
"""

View File

@ -15,6 +15,7 @@ __version__text__ = "1"
KNOWNCONSUMER = os.getenv("PRODUCER_KNOWNCONSUMER",'10.69.42.1')
class ConsumerLocator:
"""

62
redisconnector.py Normal file
View File

@ -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)

View File

@ -2,4 +2,5 @@ sentry_sdk
requests
pytest
pytest-mock
pytest-httpserver
pytest-httpserver
redis