5
Yerelde elasticsearch'e bağlanmaya çalışıyorum ve devam etmeden önce bağlantının başarılı veya başarısız olduğunu nasıl anlayabileceğimi merak ediyorum: umarımpython'da elasticsearch bağlantı durumunu kontrol edin
try:
es = Elasticsearch(['http://localhost:9200/'], verify_certs=True)
except Exception as err:
if "Connection refused" in err.message:
logging.error("Connection failed")
böyle bağlantı durumunu kontrol etmek için bir yol yoktur:
if es == false:
raise ValueError("Connection failed")
(Ben eski yazı biliyorum, ama şu anda bile aynı sorunun cevabını arıyorum, ama cevap sorun elasticsearch hizmet olduğunda aşağı es.ping olmasıdır) gelmez' t false döndürür, ancak –
hatasını döndürür. Aramayı bir try/catch bloğu içinde (asıl sorudaki gibi) es.ping'e sarabilirsiniz ve bu da işi yapar. – Val
Sorun şu ki, istisnalar zincirlenmiş. Kaldırılan son istisna ConnectionError olduğunu, ancak aynı zamanda NewConnectionError ve ConnectionRefusedError'ı da yükseltir, yani hangisinin kullanılması gerektiği anlamına gelir. Hala –