Skip to content

Instantly share code, notes, and snippets.

@erickertz
Last active May 19, 2017 15:50
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save erickertz/86480cd4c0e030544d960b6b49728003 to your computer and use it in GitHub Desktop.
Save erickertz/86480cd4c0e030544d960b6b49728003 to your computer and use it in GitHub Desktop.
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