from powerhose.jobrunner import JobRunner import time import sys import random import os endpoint = "ipc://master-routing.ipc" if __name__ == '__main__': files = [os.path.join('/etc', f) for f in os.listdir('/etc')] runner = JobRunner(endpoint) runner.start() try: # wait to have at least 1 worker print 'Waiting for some workers to register -- run square_worker.py' while len(runner.workers) == 0: sys.stdout.write('.') sys.stdout.flush() time.sleep(1.) print while True: filecontent = runner.execute('1', random.choice(files)) print 'File begins with %s' % filecontent[:100]
_workers[self.endpoint] = CryptoWorkers(self.workers_cmd, num_workers=num_workers, working_dir=working_dir, env=envdict) self.runner = _runners[self.endpoint] logger.debug('Starting powerhose master') self.runner.start() time.sleep(.5) self.workers = _workers[self.endpoint] self.workers.run() def __getattr__(self, attr): if attr in self.methods: return self.execute(partial(self.execute, attr)) raise KeyError() def encode_data(self, **data): return json.dumps(data) def decode_data(self, data): return json.loads(data) def execute(self, job_id, *args, **kwargs): data = self.runner.execute(job_id, self.encode_data(*args, **kwargs)) return self.decode_data(data) if __name__ == '__main__': runner = JobRunner(sys.argv[1]) runner.start()
from powerhose.jobrunner import JobRunner import time import sys import random endpoint = "ipc:///tmp/master-routing.ipc" if __name__ == '__main__': runner = JobRunner(endpoint) runner.start() try: # wait to have at least 1 worker print 'Waiting for some workers to register -- run square_worker.py' while len(runner.workers) < 1: sys.stdout.write('.') sys.stdout.flush() time.sleep(1.) job = 0 while True: print runner.execute('1', str(random.randrange(1000))) job += 1 print job runner.stop() except KeyboardInterrupt: runner.stop() print 'bye' except Exception, e:
from powerhose.jobrunner import JobRunner from powerhose.job import Job import time import sys import random endpoint = "ipc:///tmp/master-routing.ipc" _NUM = 10000 if __name__ == '__main__': runner = JobRunner(endpoint) runner.start() try: # wait to have at least 2 worker print 'Waiting for 2+ workers to register -- run square_worker.py' while len(runner.workers) < 2: sys.stdout.write('.') sys.stdout.flush() time.sleep(1.) num = str(random.randrange(1000)) start = time.time() for i in range(_NUM): runner.execute(Job(num)) sys.stdout.write('.') sys.stdout.flush()
from powerhose.jobrunner import JobRunner import time import sys import random import os endpoint = "ipc://master-routing.ipc" if __name__ == '__main__': files = [os.path.join('/etc', f) for f in os.listdir('/etc')] runner = JobRunner(endpoint) runner.start() try: # wait to have at least 1 worker print 'Waiting for some workers to register -- run square_worker.py' while len(runner.workers) == 0: sys.stdout.write('.') sys.stdout.flush() time.sleep(1.) print while True: filecontent = runner.execute('1', random.choice(files)) print 'File begins with %s' % filecontent[:100] except KeyboardInterrupt: runner.stop() print 'bye'
from powerhose.jobrunner import JobRunner import time import sys import random endpoint = "ipc:///tmp/master-routing.ipc" if __name__ == '__main__': runner = JobRunner(endpoint) runner.start() try: # wait to have at least 1 worker print 'Waiting for some workers to register -- run square_worker.py' while len(runner.workers) < 1: sys.stdout.write('.') sys.stdout.flush() time.sleep(1.) job = 0 while True: print runner.execute('1', str(random.randrange(1000))) job += 1 print job runner.stop() except KeyboardInterrupt: runner.stop() print 'bye'