У меня около 20 серверов с 1 подпиской и 1 публикацией сокетов. И еще один клиент с 1 подпиской и 1 публикацией сокетов. Клиент получает и отправляет ZeroMQ сообщения с серверов с опросом
Серверы отправляют сообщения в основном цикле, и примерно каждые 40 мсек следует отправлять сообщения из разных потоков (каждый сервер имеет второй поток)
Моя проблема: серверы не получают сообщения всех клиентов! Я вижу, что потоки отправляют слишком много сообщений клиенту, но некоторые сообщения клиентов они не получают вообще. Как мне правильно работать с сокетами zeroMQ?
Теперь я использую mutex = threading.Lock()
Поэтому я использую mutex.acquire
для обработки клиентского сообщения. Процесс означает, что я получаю сообщение из PUB-сокета, могу сделать какие-то вычисления или ничего не делать и отправить ответное сообщение в SUB-сокет. Тогда я использую mutex.release
.