From c4ebcb4a2000eda0fe4846b1d2da72dcfa6f8500 Mon Sep 17 00:00:00 2001 From: Christian Fobel Date: Fri, 15 Aug 2014 14:47:54 -0400 Subject: [PATCH] Add test service... Usage ===== python test_service.py [service_time=1.] where: - `service bin addr` is the ZeroMQ address to bind to. - _e.g., `tcp://*:6789`_ - `service_time` is the length of time to simulate a service run in seconds. --- test_service.py | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 test_service.py diff --git a/test_service.py b/test_service.py new file mode 100644 index 0000000..5285041 --- /dev/null +++ b/test_service.py @@ -0,0 +1,38 @@ +import time + +import zmq + + +def main(service_addr, service_time): + ctx = zmq.Context() + sock = zmq.Socket(ctx, zmq.REP) + + sock.bind(service_addr) + + def listen(service_time=service_time): + if sock.poll(timeout=100): + request = sock.recv() + if request == 'start': + sock.send('started') + time.sleep(service_time) + elif request == 'notify_completion': + sock.send('completed') + else: + sock.send('error') + + while True: + listen(service_time) + + +if __name__ == '__main__': + import sys + + if len(sys.argv) not in (2, 3): + print >> sys.stderr, ('usage: %s [service_time=1.]' + % sys.argv[0]) + else: + if len(sys.argv) < 3: + service_time = 1. + else: + service_time = float(sys.argv[2]) + main(sys.argv[1], service_time) -- GitLab