Я удовлетворен использованием REST-ful дизайна транзакций.
Это означает использование HTTP вместо каналов.
Если у Процесса B есть очередь вещей, которую должны выполнить различные Процессы А, он будет работать следующим образом.
Процесс B - это HTTP-сервер с RESTful URI, который обрабатывает запросы от процесса A. B реализован с использованием Python wsgiref или werkzeug или другой реализации WSGI.
В основном, B отвечает на GET-запросы от A. Каждый GET-запрос убирает следующую вещь из очереди и отвечает ей. Поскольку B будет иметь несколько одновременных запросов, необходима однопоточная очередь. Самый простой способ убедиться в этом - убедиться, что сервер WSGI является однопоточным. Каждый запрос выполняется относительно быстро, поэтому однопоточная обработка работает очень хорошо.
В B должна быть загружена очередь, поэтому он, вероятно, также отвечает на запросы POST, чтобы ставить вещи в очередь.
Процесс A - это HTTP-клиент, который отправляет запросы RESTful URI, которые предоставляет Процесс B. A реализован с использованием urllib2 для выполнения запросов к B. A выполняет GET-запросы для B, чтобы получить следующую вещь из очереди.