63 lines
1.5 KiB
Python
63 lines
1.5 KiB
Python
|
#!/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)
|