Skip to content

Instantly share code, notes, and snippets.

@proteneer
Created November 17, 2013 06:45
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 proteneer/7510186 to your computer and use it in GitHub Desktop.
Save proteneer/7510186 to your computer and use it in GitHub Desktop.
polling
import redis
import threading
class Listener(threading.Thread):
def __init__(self, r, channels):
threading.Thread.__init__(self)
self.redis = r
self.pubsub = self.redis.pubsub()
self.pubsub.subscribe(channels)
def work(self, item):
print item['channel'], ":", item['data']
def run(self):
for item in self.pubsub.listen():
print item['data']
if __name__ == "__main__":
r = redis.Redis()
r.config_set('notify-keyspace-events','Elx')
client = Listener(r, ['__keyevent@0__:expired', '__keyevent@0__:rpush'])
client.start()
print 'async! task running in bg now'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment