какой хороший способ сделать rpc через multiprocessing.Process?
Я также открыт для рекомендаций по проектированию следующей архитектуры: процесс A * 10, процесс B * 1. Каждый процесс A должен проверять с процессом B, нужно ли запрашивать конкретный элемент.
Поэтому я подумал о реализации объекта multiprocessing.Pipe() для всех As, а затем B прослушивал каждого из них. Однако я понимаю, что Multiprocessing.Pipe.recv БЛОКИРУЕТСЯ. поэтому я действительно не знаю, как я могу это сделать. (если я использую цикл, чтобы проверить, какой из них отправлен через другой конец, цикл будет заблокирован).
Есть предложения для меня использовать скрученный, но я не уверен, как мне сделать это в скрученном: должен ли я создать отсрочку для каждого pipe.handler из всех процессов A, а затем, когда recv() получает что-то, он продолжается и выполнить определенную рутину? Лично я знаю, что Twisted не очень хорошо сочетается с многопроцессорной обработкой, но я провел некоторые тесты Twisted, которые являются дочерними процессами реализации многопроцессорной обработки, и я думаю, что на этот раз это работает.
Есть рекомендации?