同じループ内の他の gevent greenlet と一緒に、zeroRPC サーバーを greenlet として実行したいと考えています。ZeroRPC のドキュメントは少し軽めです。これは、zeroRPC サーバーを開始するための推奨される方法です。
s = zerorpc.Server(Cooler())
s.bind("tcp://0.0.0.0:4242")
s.run()
サーバーを greenlet として実行するために、実行を greenlet でラップしました。
s = zerorpc.Server(Cooler())
s.bind("tcp://0.0.0.0:4242")
gevent.spawn(s.run)
# More code and greenlets started.
# ...
しかし、zeroRPC がすでに gevent に基づいており、gevent フレームワーク内の他のサーバーがノンブロッキングの開始メソッドを持っていることを考えると、少しぎこちないように思えます。
これを行うより良い方法はありますか?