thrift/contrib/zeromq/test-client.py
Stefan Bolus e59b73d3c2 THRIFT-4571: Updated ZeroMQ examples to ZeroMQ version >= 3.0. (#1556)
* New style for Python is default now.
* Symbols were replaced in newer versions of ZeroMQ (>=3.0).
* Use Thrift's abstraction for `shared_ptr` instead of Boost.
* Symbols were replaced in Python as well.
2018-05-14 08:48:09 -04:00

37 lines
808 B
Python
Executable File

#!/usr/bin/env python
import sys
import time
import zmq
import TZmqClient
import thrift.protocol.TBinaryProtocol
import storage.ttypes
import storage.Storage
def main(args):
endpoint = "tcp://127.0.0.1:9090"
socktype = zmq.REQ
incr = 0
if len(args) > 1:
incr = int(args[1])
if incr:
socktype = zmq.PUSH
endpoint = "tcp://127.0.0.1:9091"
ctx = zmq.Context()
transport = TZmqClient.TZmqClient(ctx, endpoint, socktype)
protocol = thrift.protocol.TBinaryProtocol.TBinaryProtocolAccelerated(transport)
client = storage.Storage.Client(protocol)
transport.open()
if incr:
client.incr(incr)
time.sleep(0.05)
else:
value = client.get()
print(value)
if __name__ == "__main__":
main(sys.argv)