Задать вопрос
@rav_pr

Как искать primary в реплике Монги?

Почему метод primary в MongoClient временами срабатывает ложно, и выдает None. Хотя реплика здорова и имеет primary ноду
Есть необходимость проверки возможности записи в реплику, и если ее нет писать только в лог файл. И я не могу понять почему возвращается None. Временами, иногда все проходит успешно

class Store:
     39   def __init__(self, hosts: List[str], port: int, replica_set: str, db_name: str) -> None:
     40     self.hosts = [f"{i}:{port}" for i in hosts]
     41     self.replica_set = replica_set
     42     self.db_name = db_name
     43 
     44   @property
     45   def db(self) -> Database:
     46     client = MongoClient(self.hosts, replicaset=self.replica_set, uuidRepresentation='standard', connect=True)
     47     return client[self.db_name]
     48 
     49 
     50 
     51 if __name__ == '__main__':
     52   global CONFIG
     53   CONFIG = Config("/etc/m_db_replica.conf")
     54   
     55   store = Store(CONFIG.db.hosts, CONFIG.db.port, CONFIG.db.replica_set, CONFIG.db.db_name)
     56 
     57   print("replica name ")
     58   print(CONFIG.db.replica_set)
     59   print(store.db.client.nodes)
     60 
     61   print("!!!! праймеры нода !!!!")
     62   print(store.db.client.primary)
  • Вопрос задан
  • 38 просмотров
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы