[pyar] Pub Sub & Thread

Pablo M. Mana pablo.m.mana en gmail.com
Mar Abr 17 16:17:35 ART 2012


Ya anda, les dejo un ejemplo trivial por si alguno quiere comentar
algo, lo "interesante" esta en la clase receptor, el emisor no es mas
que un andamio
Saludos
Pablo M. Mana

# Prueba de pubsub via Queue

#!/usr/bin/env python

import threading
import Queue
import sys
from time import sleep
from cyrusbus import Bus

bus = Bus()

if sys.version_info < (3, 0):
    reload(sys)
    sys.setdefaultencoding('utf8')


class Emisor(threading.Thread):

    def __init__(self):
        threading.Thread.__init__(self)

    def run(self):
        tupla = ["todo", ["bien", "mal"]]
        run_queue.put(tupla)
        while True:
            pass


class Receptor(threading.Thread):

    def __init__(self):
        threading.Thread.__init__(self)
        self.run_queue = run_queue

    def fin(self,  (opt)):
        print "llego"
        print opt[0]

    def run(self):
        if run_queue.empty():
            sleep(1)
        else:
            take = run_queue.get()
            bus.publish(take[0], take[1])

    bus.subscribe("todo", fin)

if __name__ == "__main__":

    print "arrancamos"
    run_queue = Queue.Queue()
    Emisor().start()
    Receptor().start()



More information about the pyar mailing list