El día 12 de abril de 2013 21:06, Christian Espinoza <chespin...@gmail.com> escribió: > Hola a todos, tengo una duda con zmq... > > Tengo un servicio que está publicando datos mediante el modelo ipc de zmq > > context = zmq.Context() > publisher = context.socket(zmq.PUB) > publisher.connect("ipc://VCserver") > myjson = json.dumps(worker.data) > publisher.send(myjson) > > y otro servicio(subscriber) que revisa los datos para generar ciertas > alertas... > > context = zmq.Context() > subscriber = context.socket(zmq.SUB) > subscriber.bind("ipc://VCserver") > subscriber.setsockopt(zmq.SUBSCRIBE, '') > while True: > response = subscriber.recv() > if response: > data = json.loads(response) > check(data) > > Ahora debo implementar múltiples instancias publishers y > no tengo bien claro si se podrá usando un solo subscriber o deberé implementar > las instancias cada una, pareada con su propio subscriber, como la > comunicación > se realiza a través de un archivo especial, me queda la duda. > Las instancias Publisher toman distintos tipos de datos, por lo que no > son siempre iguales > pero el subscriber siempre realiza las mismas tareas, como conectarse > a una bd e > insertar datos.
Con el esquema PUB-SUB puedes tener varios subscriptores emparejados a un único publicador. Si vas a tener un número variable de publicadores, establecer emparejamientos dinámicos puede resultar bastante costoso en recursos. La solución óptima pasa por crear un intermediario "estático" usando el esquema XPUB-XSUB. En la documentación te lo explica bastante bien: http://zguide.zeromq.org/py:all#header-39 En tu caso concreto, sólo vas a tener un subscriptor del intermediario. -- Hyperreals *R: http://ch3m4.org/blog Quarks, bits y otras criaturas infinitesimales _______________________________________________ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/