rendered paste body#!/bin/env pythonfrom twisted.spread import pbfrom twisted.internet import reactorimport socketclass PbTester(object): def __init__(self): print "Starting client" def runTests(self): self.connect().addCallback( lambda _: self.sayHello()).addCallback( lambda _: self.report_load()).addCallback( lambda _: reactor.stop() ) def connect(self): factory = pb.PBClientFactory() reactor.connectTCP("localhost",8789, factory) return factory.getRootObject().addCallback(self._connected) def _connected(self, rootObj): self.remote_hello = rootObj self.remote_report_load = rootObj def sayHello(self): print "Calling hello" return self.remote_hello.callRemote('hello') def report_load(self): loadavg_file = open("/proc/loadavg","r") loadavg_line = loadavg_file.readline() loadavg = loadavg_line.split()[0:3] print "Calling report_load..." return self.remote_report_load.callRemote('report_load',hostname,loadavg)hostname = socket.gethostname().split('.')[0]t = PbTester()t.runTests()reactor.run()