我的應用程序中的Python elasticsearch客戶端存在連接問題(拒絕連接),因爲由於防火牆導致空閒TCP連接超時(我無法防止此問題)。使用python elasticsearch客戶端嗅探來解決死TCP連接問題
解決這個問題的最簡單方法是,如果我可以通過週期性地發送一些數據來阻止連接閒置,那麼elasticsearch客戶端中的嗅探選項看起來非常理想,但它們是not very well documented:
sniff_on_start - 標誌,指示是否從cluser在啓動時獲取的節點 列表
sniffer_timeout - 自動嗅探之間的秒 數
sniff_on_connection_fail - 標誌控制 如果連接失敗觸發嗅
sniff_timeout - 用於鑑別請求超時 - 它應該是一個快速的API調用,我們可能談論更多的節點,所以我們要迅速失敗。在連接仍未初始化時,在初始嗅探過程中(如果sniff_on_start打開),不使用。
我想是爲客戶的每一個(比方說)步行5分鐘嗅,我應該使用sniff_timeout
或sniffer_timeout
選項?另外,sniff_on_start
參數應該設置爲True
?
這個答案可能有幫助:http://stackoverflow.com/questions/39640200/elasticsearch-python-client-work-with-many-nodes-how-to-work-with-sniffer/39640389#39640389 – Val
@val我使用了該答案中的設置,如果有效,它會報告回來。需要一些時間來測試這個。 –
@val它工作!謝謝 - 我已經留下了一個答案,以防其他人有這個問題。 –