Hey everyone, what's a good way to do rpc across multiprocessing.Process'es ?
I am also open to design advise on the following architecture: Process A * 10, Process B * 1. Each process A has to check with proces B on whether a particular item needs to be queried.
So I was thinking of implementing multiprocessing.Pipe() object for all the As, and then have B listen to each of them. However, I realize that Multiprocessing.Pipe.recv is BLOCKING. so I don't really know how I can go about doing this. (if I use a loop to check which one has things sent through the other end that the loop will be blocked).
There are suggestions for me to use twisted, but I am not sure how I should go about doing this in twisted: Should I create a defer on each pipe.handler from all the processes A and then when recv() receives something it goes on and complete a certain routine? I know personally twisted does not mix well with multiprocessing, but I have done some testing on twisted that are child processes of an multiprocessing implementation and I think this time it's workable.
Any recommendations?