批量插入資料的時候,出現了超時的問題,因為es預設時間為10s,批量插入的時候超過了這個時間,出現了超時異常
批量插入語句:
es_conn.bulk(data_list)
異常:
elasticsearch.exceptions.connectiontimeout: connectiontimeout caused by - readtimeouterror(httpconnectionpool(host='172.18.11.241', port='9200'): read timed out. (read timeout=10))
然後看了下bulk方法,看到有乙個timeout引數
@query_params('_source', '_source_exclude', '_source_include', 'fields',
'pipeline', 'refresh', 'routing', 'timeout', 'wait_for_active_shards')
def bulk(self, body, index=none, doc_type=none, params=none):
然後在bulk方法中新增 timeout=100
es_conn.bulk(json_list,timeout=100)
仍舊出現異常,貌似是解析timeout失敗,單位丟失或者沒有被識別什麼的:
elasticsearch.exceptions.requesterror: transporterror(400, 'parse_exception', 'failed to parse setting [timeout] with value [100] as a time value: unit is missing or unrecognized')
然後google了一下,將timeout改為request_timeout就好了,雖然還沒找到timeout為什麼不好用:
es_conn.bulk(json_list,request_timeout=100)
參考:es版本:6.0
springboot中JDBC連線超時問題
最近專案中有乙個問題,電子保卡資訊要寫入資料庫,但寫入失敗,報錯 息是這樣的 大體意思是上次成功接收報文的時間超過了資料庫超時時間的值,為了解決這個問題,應當增加資料庫的超時時間或者是啟用資料庫自動重連機制。所以我們可以用兩種方法 1 從db層解決問題 增大資料庫連線超時時間 2 從應用層解決問題 ...
nginx php 上傳檔案超時報499的問題
最近系統有乙個問題,上傳附件的介面上傳大檔案到30秒會超時,其他介面不存在超時問題。逐一排查了nginx配置 php配置發現沒什麼問題 nginx.conf client max body size 100m client header timeout 1m client body timeout ...
axios 請求超時處理方法
main.js import axios from axios axios.defaults.timeout 10000 設定超時時間,單位毫秒 axios.defaults.retry 3 設定全域性請求次數 axios.defaults.retrydelay 1000 設定全域性請求間隙 htt...