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
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
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
def startService(self): zf = ZmqFactory() endpoint = ZmqEndpoint('bind', self._bindAddress) puller = ZmqPullConnection(zf, endpoint) puller.onPull = processor
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()