ZMQ - Несколько рабочих с одним и тем же сокетом Дилер
У меня есть пакет Python, который должен служить дилером для нескольких частей кода, разбросанных в моем решении. Но до сих пор он использовался только в Django Views, то есть внутри приложения. Но теперь я хочу использовать этот пакет в отдельном скрипте, и мне кажется, что скрипт не может выполнить zmq.Context.instance().socket(zmq.DEALER).connect(SOCKET_ADDR), потому что он уже используется в views.py. Имеет ли это смысл?
dealer.py (пакет):
imports...
context = zmq.Context.instance()
workerCnctn = context.socket(zmq.DEALER)
workerCnctn.identity = 'xxxxx'
workerCnctn.setsockopt(zmq.LINGER, 0)
workerCnctn.connect(SOCKET_ADDR)
class A:
def __init__(self):
self.workerCnctn = workerCnctn
def send(self, arg1, arg2):
...
self.workerCnctn.send_string(msg)
views.py:
imports ...
import dealer
...
@api_view(["POST"])
def send(request):
...
dealer = dealer.A()
A.send(arg1, arg2)
...
script.py:
imports ...
import dealer
...
def main():
...
dealer = dealer.A()
A.send(arg1, arg2)
...
Сценарий должен вызываться вручную, а приложение Django работает постоянно. Я заметил, что в логах Router я могу уловить только сообщения, которые приходят из views.py.
Поэтому я спрашиваю, не могу ли я иметь разных работников с одинаковой целью, использующих один и тот же сокет?