Pyro4 убить пустой сервер имен - PullRequest
0 голосов
/ 02 декабря 2018

Я использую Pyro4 в распределенной системе.Моя проблема в том, что после соединения двух сетей может появиться много серверов имен.Это нормально для меня, но если какая-либо из них пуста (объекты не зарегистрированы), моя сеть может выйти из строя.Это потому, что я реализую аккорд, и мне нужно знать, если какой-либо узел аккорда уже запущен (если пустой сервер имен отвечает, то будут созданы два кольца аккордов. Есть ли способ убить сервер имен, если он пуст?
Мой код на python3. Спасибо

1 Ответ

0 голосов
/ 02 декабря 2018

Сервер имен Pyro предполагает, что он работает все время: вы никогда не знаете, будет ли кто-то чуть позже, кто захочет зарегистрировать новое имя.Если вам действительно нужно автоматическое выключение, вам придется либо обернуть сервер имен по умолчанию в какой-то пользовательский код, либо использовать какой-либо сторожевой процесс, который убивает сервер имен, если он обнаруживает, что у него 0 записей.

Вы можете получить количество записей с помощью обычного Pyro-вызова к серверу имен: ns.count().По понятным причинам невозможно удаленно завершить работу сервера имен с помощью такого вызова Pyro API, поэтому требуется процесс наблюдения.

...