Я хочу создать очередь задач с zmq, где каждая задача является объектом json. Я хочу, чтобы эта очередь справедливо распределяла задачи от моих клиентов среди моих работников.
Я создал следующую очередь:
try:
context = zmq.Context()
frontend = context.socket(zmq.ROUTER)
frontend.bind("tcp://*:5559")
backend = context.socket(zmq.DEALER)
frontend.bind("tcp://*:5560")
zmq.proxy(frontend, backend)
except Exception as e:
print(e)
finally:
frontend.close()
backend.close()
context.term()
При подключении к этому прокси я не получаю никакого ответа от своих работников. Я пытался использовать разные типы сокетов (REQ, REP, ROUTER, DEALER). Но когда я тестирую использование ROUTER и DEALER в прямом соединении, я не могу recv_json
, потому что он пытается декодировать первую часть составного сообщения.