ZeroMQ Majordomo - почему рабочие удаляются при отправке готовых кадров? - PullRequest
0 голосов
/ 08 октября 2018

Я реализую полный асинхронный шаблон majordomo из zeroMQ.У меня возникают трудности с пониманием различных причин, по которым рабочие удаляются в ссылочных реализациях, особенно в отношении атрибута worker_ready.

Например, в примере с брокером python (http://zguide.zeromq.org/py:mdbroker), при обработке работникаэто сообщение:

 if (MDP.W_READY == command):
        assert len(msg) >= 1 # At least, a service name
        service = msg.pop(0)
        # Not first command in session or Reserved service name
        if (worker_ready or service.startswith(self.INTERNAL_SERVICE_PREFIX)):
            self.delete_worker(worker, True)

Логическое значение worker_ready вычисляется путем проверки того, находится ли работник в списке «известных работников», за до , затем создания экземпляра работника (и, таким образом,добавив его в список известных работников). Более описательное имя для worker_ready может быть worker_known.

Я не понимаю - если работник сообщает, это «ГОТОВ» и ранееизвестно, почему мы затем удаляем его? (удаление работника подразумевает удаление его из списка известных работников и списка незанятых работников)

...