получить текущий лидер предвыборного рецепта в казу - PullRequest
0 голосов
/ 02 июня 2018

Я могу получить текущих соперников, используя election.lock._get_sorted_children() и соответствующие идентификаторы, используя election.lock.contenders().Но election.lock.contenders() также сортирует список, поэтому election.lock.contenders()[0] всегда будет лидером?

Примечание, election = zk.Election("/path", "uuid"), где zk - это KazooClient

Есть ли лучший способпроверить лидера?

1 Ответ

0 голосов
/ 13 июня 2018

Kazoo следует рекомендации zookepeers, чтобы узел с наименьшим индексом получил блокировку.Lock::_inner_acquire гарантирует, что блокировка получена по наименьшему индексу, всегда ожидая завершения предшественников, прежде чем получить блокировку.Следовательно, election.lock.contenders()[0] всегда будет лидером (если, конечно, список не пуст).

...