es問題解決方案記錄- python es客戶端 閑置一段時間后會被斷開連接解決方案


問題描述:

    在django中使用es, 當長時間沒有請求查詢時(大概半個小時左右),請求,則會出現超時異常,而下一次則會請求成功

初步排查:

    通過測試與網上收集信息,初步判定為長時間空閑導致防火牆斷開了連接,之后請求由於超時引發異常進行了自動重連,而下一次請求時則由於上一次連接已經連好了,所以正常(個人推測,可能不太對)

嘗試解決:

   1. 開始總覺得是超時,所以設置了自動重試,但是好像沒什么效果

 2. 笨辦法臨時湊活,加個異常特定捕獲這個異常,如果捕獲了就再進行查詢一次。問題雖然能解決,但有點傻,耗時長不說,代碼也很啰嗦,先湊活着再找辦法

   3. 看到一位網友的分享http://cn.voidcc.com/question/p-mbqrwpya-ro.htmlhttps://stackoverflow.com/questions/39640200/elasticsearch-python-client-work-with-many-nodes-how-to-work-with-sniffer/39640389#39640389

     使用嗅探,之前一直沒明白這個是做什么的

sniff_on_start=True sniffer_timeout=60 sniff_on_connection_fail=True

    感覺這個應該能夠解決,測試中,等測試完來更新

 -------------------------------------------------長長的分割線----------------------------------------------------------------------

在我這測試好像沒有用,內心好崩潰

    


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM