分布式工作者之间的RPC
项目描述
A distributed RPC solution based on ØMQ and gevent. Follow the features
A worker can return, yield, raise any picklable object to the remote customer.
A customer can invoke to any remote worker in the worker cluster.
A customer can invoke to all remote workers in the worker cluster.
示例
服务器端
地址是 192.168.0.41。工作者将在24600端口监听。
import zmq.green as zmq
import zeronimo
class Application(object):
def rycbar123(self):
for word in 'run, you clever boy; and remember.'.split():
yield word
ctx = zmq.Context()
# make worker
worker_sock = ctx.socket(zmq.PULL)
worker_sock.bind('tcp://*:24600')
worker = zeronimo.Worker(Application(), [worker_sock])
# run worker forever
worker.run()
客户端
地址是 192.168.0.42。回复收集器将在24601端口监听。
import zmq.green as zmq
import zeronimo
ctx = zmq.Context()
# make remote result collector
collector_sock = ctx.socket(zmq.PULL)
collector_sock.bind('tcp://*:24601)
collector = zeronimo.Collector(collector_sock, 'tcp://192.168.0.42:24601')
# make customer
customer_sock = ctx.socket(zmq.PUSH)
customer_sock.connect('tcp://192.168.0.41:24600')
customer = zeronimo.Customer(customer_sock, collector)
# rpc
remote_result = customer.emit('rycbar123')
for line in remote_result.get():
print line
项目详情
关闭
zeronimo-0.7.2.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 3bdcd614e596403616c20360ef886af640226180dd957f805b7ce195b3d9e7dd |
|
MD5 | 74db47c6096c522c0ddaeec6af7fe842 |
|
BLAKE2b-256 | d50613da8bf13216fafba63dec3fdbb10932007fa609bffa6ad594069a487c86 |