Last active
May 19, 2017 15:50
-
-
Save erickertz/86480cd4c0e030544d960b6b49728003 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class PubSubUtil: | |
def __init__( | |
self, | |
logger=getLogger(__name__), | |
): | |
self.logger = logger | |
self.pub_sub_key = "my_key" | |
self.redis = redis.StrictRedis(host="redis", port=6379, db=0) | |
self.pubsub = self.redis.pubsub() | |
self.pubsub.subscribe(**{"__keyspace@0__:{}".format(self.pub_sub_key): self.pub_sub_key_callback}) | |
self.pub_sub_key_value = self.redis.get(self.pub_sub_key) | |
# sample callback method | |
def pub_sub_key_callback(self): | |
self.logger.info("new message for {}".format(self.pub_sub_key)) | |
self.pub_sub_key_value = self.redis.get(self.pub_sub_key) | |
# sample manual pubsub get_message | |
def listen_for_pub_sub_key(self): | |
message = self.pubsub.get_message() | |
self.logger.info("getting messages") | |
if message: | |
self.logger.info("we have a new message") | |
self.pub_sub_key_value = self.redis.get(self.pub_sub_key) | |
else: | |
self.logger.info("we do NOT have a new message") | |
return self.pub_sub_key_value | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment