multiprocessing.Process で rpc を実行する良い方法は何ですか?
また、プロセス A * 10、プロセス B * 1 のアーキテクチャに関する設計アドバイスも受け付けています。各プロセス A は、特定のアイテムを照会する必要があるかどうかをプロセス B に確認する必要があります。
そこで、すべての As に対して multiprocessing.Pipe() オブジェクトを実装し、B にそれぞれをリッスンさせることを考えていました。しかし、Multiprocessing.Pipe.recv が BLOCKING であることがわかりました。そのため、どうすればこれを行うことができるのか本当にわかりません。(ループを使用して、ループがブロックされる相手側から送信されたものを確認する場合)。
ツイストを使用するための提案がありますが、ツイストでこれを行う方法がわかりません: すべてのプロセス A から各 pipe.handler に defer を作成し、recv() が何かを受け取ると、それが続行されます。特定のルーチンを完了しますか?私は個人的にツイストがマルチプロセッシングとうまく混ざらないことを知っていますが、マルチプロセッシング実装の子プロセスであるツイストでいくつかのテストを行い、今回は実行可能だと思います。
推奨事項はありますか?