Beispiel #1
0
 def onJoin(self, details):
     s = ZmqPullConnection(ZF, ZFE)
     def go_pull(sr):
         chan, sr = sr[0].split(' ', 1)
         sr = pickle.loads(sr)
         print chan
         #self.publish(chan, sr)
     s.onPull = go_pull
Beispiel #2
0
    def onJoin(self, details):
        s = ZmqPullConnection(ZF, ZFE)

        def go_pull(sr):
            chan, sr = sr[0].split(' ', 1)
            sr = pickle.loads(sr)
            print chan
            #self.publish(chan, sr)

        s.onPull = go_pull
Beispiel #3
0
 def onJoin(self, details):
     s = ZmqPullConnection(ZF, ZFE)
     ss = ZmqPushConnection(ZF, ZFE_SSL )
     def go_pull(sr):
         ss.push(sr)
         chan, sr = sr[0].split(' ', 1)
         sr = pickle.loads(sr)
         #print chan
         #print chan, sr['bdata_mode0']['updated']
         self.publish(chan, sr)
     s.onPull = go_pull
Beispiel #4
0
    def onJoin(self, details):
        s = ZmqPullConnection(ZF, ZFE)
        ss = ZmqPushConnection(ZF, ZFE_SSL)

        def go_pull(sr):
            ss.push(sr)
            chan, sr = sr[0].split(' ', 1)
            sr = pickle.loads(sr)
            #print chan
            #print chan, sr['bdata_mode0']['updated']
            self.publish(chan, sr)

        s.onPull = go_pull
Beispiel #5
0
    def startService(self):
        zf = ZmqFactory()
        endpoint = ZmqEndpoint('bind', self._bindAddress)

        puller = ZmqPullConnection(zf, endpoint)
        puller.onPull = processor
Beispiel #6
0
    from twisted.python.log import startLogging
    from twisted.internet import reactor
    from txrdq.rdq import ResizableDispatchQueue

    # startLogging(sys.stdout)

    parser = OptionParser("UptimeWorker")
    parser.add_option("-i", "--id", dest="id", help="Worker ID")
    parser.add_option("-p", "--ssh-port", dest="port", help="ssh port")
    parser.add_option("-u", "--ssh-user", dest="user", help="ssh user")
    parser.add_option("-s", "--source", dest="source", help="0MQ ssh hosts producer Endpoint")
    parser.add_option("-r", "--results", dest="results", help="0MQ ssh result sink Endpoint")
    parser.add_option("-c", "--concurrency", dest="concurrency", help="Max concurrent ssh sessions")

    (options, args) = parser.parse_args()
    ssh_options = {"worker_id": options.id, "port": int(options.port), "user": options.user}

    # limit concurrency otherwise things go pear shaped.
    rdq = ResizableDispatchQueue(do_ssh, int(options.concurrency))

    # setup pull socket to ssh host producerr
    hosts_endpont = ZmqEndpoint("connect", options.source)
    reciever = ZmqPullConnection(zf, hosts_endpont)
    reciever.onPull = rdq.put

    # setup result sink socket
    sink_endpoint = ZmqEndpoint("connect", options.results)
    sink = ZmqPushConnection(zf, sink_endpoint)
    reactor.run()