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