Example #1
0
class Chatter(object):
    def __init__(self, topic='chatter', port=9000):
        method = 'bind'
        self.port = port
        endpoint = 'tcp://0.0.0.0:%s' % port
        e = ZmqEndpoint(method, endpoint)
        self.pub_socket = ZmqPubConnection(zf, e)

    def get_port():
        return self.port

    def pub(msg):
        self.pub_socket.publish(msg)
Example #2
0
    def setup(self, cfg):

        BasePlugin.setup(self, cfg)

        self.factory = MZMQFactory(plugin=self)
        self.factory.plugin = self

        self.pub_endpoint_uri = cfg.get("pub_endpoint", "tcp://*:9901")
        self.pub_endpoint = ZmqEndpoint("bind", self.pub_endpoint_uri)
        self.sub_endpoint_uri = cfg.get("sub_endpoint", "tcp://*:9901")
        self.sub_endpoint = ZmqEndpoint("connect", self.sub_endpoint_uri)
        self.pub = ZmqPubConnection(self.factory, self.pub_endpoint)
        self.sub = ZmqSubConnection(self.factory, self.sub_endpoint)
        self.sub.subscribe("")
        self.sub.gotMessage = self.on_message

        self.subscribe(self.process_event)
Example #3
0
class ZmqPlugin(BasePlugin):

    """
    Zero Messaging Queue (ZMQ/0MQ) plugin.
    """

    default_config = {
        "enabled": False,
        "pub_endpoint": "tcp://*:9901",
        "sub_endpoint": "tcp://*:9901"
    }


    def setup(self, cfg):

        BasePlugin.setup(self, cfg)
        
        self.factory = MZMQFactory(plugin=self)
        self.factory.plugin = self

        self.pub_endpoint_uri = cfg.get("pub_endpoint", "tcp://*:9901")
        self.pub_endpoint = ZmqEndpoint("bind", self.pub_endpoint_uri)
        self.sub_endpoint_uri = cfg.get("sub_endpoint", "tcp://*:9901")
        self.sub_endpoint = ZmqEndpoint("connect", self.sub_endpoint_uri)
        self.pub = ZmqPubConnection(self.factory, self.pub_endpoint)
        self.sub = ZmqSubConnection(self.factory, self.sub_endpoint)
        self.sub.subscribe("")
        self.sub.gotMessage = self.on_message

        self.subscribe(self.process_event)


    def process_event(self, tags, detail):

        detail_json = str(json.dumps(detail))

        self.pub.publish(detail_json, str(" ".join(tags)))


    def on_message(self, detail, tags):

        self.logger.debug("ZMQ: [%s] %s" % (tags, detail))
Example #4
0
class ZmqPlugin(BasePlugin):
    """
    Zero Messaging Queue (ZMQ/0MQ) plugin.
    """

    default_config = {
        "enabled": False,
        "pub_endpoint": "tcp://*:9901",
        "sub_endpoint": "tcp://*:9901"
    }

    def setup(self, cfg):

        BasePlugin.setup(self, cfg)

        self.factory = MZMQFactory(plugin=self)
        self.factory.plugin = self

        self.pub_endpoint_uri = cfg.get("pub_endpoint", "tcp://*:9901")
        self.pub_endpoint = ZmqEndpoint("bind", self.pub_endpoint_uri)
        self.sub_endpoint_uri = cfg.get("sub_endpoint", "tcp://*:9901")
        self.sub_endpoint = ZmqEndpoint("connect", self.sub_endpoint_uri)
        self.pub = ZmqPubConnection(self.factory, self.pub_endpoint)
        self.sub = ZmqSubConnection(self.factory, self.sub_endpoint)
        self.sub.subscribe("")
        self.sub.gotMessage = self.on_message

        self.subscribe(self.process_event)

    def process_event(self, tags, detail):

        detail_json = str(json.dumps(detail))

        self.pub.publish(detail_json, str(" ".join(tags)))

    def on_message(self, detail, tags):

        self.logger.debug("ZMQ: [%s] %s" % (tags, detail))
Example #5
0
    def setup(self, cfg):

        BasePlugin.setup(self, cfg)
        
        self.factory = MZMQFactory(plugin=self)
        self.factory.plugin = self

        self.pub_endpoint_uri = cfg.get("pub_endpoint", "tcp://*:9901")
        self.pub_endpoint = ZmqEndpoint("bind", self.pub_endpoint_uri)
        self.sub_endpoint_uri = cfg.get("sub_endpoint", "tcp://*:9901")
        self.sub_endpoint = ZmqEndpoint("connect", self.sub_endpoint_uri)
        self.pub = ZmqPubConnection(self.factory, self.pub_endpoint)
        self.sub = ZmqSubConnection(self.factory, self.sub_endpoint)
        self.sub.subscribe("")
        self.sub.gotMessage = self.on_message

        self.subscribe(self.process_event)
Example #6
0
#!/usr/bin/env python

import json
import pprint
import sys

from twisted.internet import reactor, defer
from txZMQ import ZmqEndpoint, ZmqFactory, ZmqPubConnection, ZmqSubConnection

zf = ZmqFactory()
pe = ZmqEndpoint("bind", "tcp://*:9901")
se = ZmqEndpoint("connect", "tcp://10.0.2.40:9901")
pc = ZmqPubConnection(zf, pe)
sc = ZmqSubConnection(zf, se)
sc.subscribe("")  # ("scheduler.scheduler001.new_interval")

pc.publish("F*****G WORK")
sys.exit(0)


def matches(tags, query):

    if query is None: query = list()

    tags = set(tags.split(" "))
    query = set(query)

    return query.issubset(tags)


def on_message(detail, tags):
Example #7
0
 def __init__(self, topic='chatter', port=9000):
     method = 'bind'
     self.port = port
     endpoint = 'tcp://0.0.0.0:%s' % port
     e = ZmqEndpoint(method, endpoint)
     self.pub_socket = ZmqPubConnection(zf, e)
Example #8
0
parser.add_option("-m", "--method", dest="method", help="0MQ socket connection: bind|connect")
parser.add_option("-e", "--endpoint", dest="endpoint", help="0MQ Endpoint")
parser.add_option("-M", "--mode", dest="mode", help="Mode: publisher|subscriber")

parser.set_defaults(method="connect", endpoint="epgm://eth1;239.0.5.3:10011")

(options, args) = parser.parse_args()

from txZMQ import ZmqFactory, ZmqEndpoint, ZmqPubConnection, ZmqSubConnection
import time

zf = ZmqFactory()
e = ZmqEndpoint(options.method, options.endpoint)

if options.mode == "publisher":
    s = ZmqPubConnection(zf, e)

    def publish():
        data = str(time.time())
        print "publishing %r" % data
        s.publish(data)

        reactor.callLater(1, publish)

    publish()
else:
    s = ZmqSubConnection(zf, e)
    s.subscribe("")

    def doPrint(*args):
        print "message received: %r" % (args, )
Example #9
0
#!/usr/bin/env python

import json
import pprint
import sys

from twisted.internet import reactor, defer
from txZMQ import ZmqEndpoint, ZmqFactory, ZmqPubConnection, ZmqSubConnection

zf = ZmqFactory()
pe = ZmqEndpoint("bind", "tcp://*:9901")
se = ZmqEndpoint("connect", "tcp://10.0.2.40:9901")
pc = ZmqPubConnection(zf, pe)
sc = ZmqSubConnection(zf, se)
sc.subscribe("") # ("scheduler.scheduler001.new_interval")


pc.publish("F*****G WORK")
sys.exit(0)


def matches(tags, query):

    if query is None: query = list()

    tags = set(tags.split(" "))
    query = set(query)

    return query.issubset(tags)