Skip to content

Instantly share code, notes, and snippets.

@ei-grad
Last active August 29, 2015 14:22
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 ei-grad/2cbd312491a386a2927b to your computer and use it in GitHub Desktop.
Save ei-grad/2cbd312491a386a2927b to your computer and use it in GitHub Desktop.
PubSub pattern for twisted
from twisted.internet.defer import DeferredQueue
class PubSub(object):
def __init__(self):
self.queues = []
def subscribe(self, queue=None):
if queue is None:
queue = DeferredQueue()
self.queues.append(queue)
return queue
def unsubscribe(self, queue):
self.queues.remove(queue)
def publish(self, data):
for queue in self.queues:
reactor.callLater(0, queue.put, data)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment