Curl要求は5分で予期せず終了します。

Curl要求は5分で予期せず終了します。

私はElasticsearchクラスタから特定の種類のすべてのドキュメントを削除するカールリクエストをトリガーするためにシェルスクリプトを使用しています。成功すると、Logstashが起動し、削除された種類の文書を再インデックス化しようとします。

printf "\n%s\n" "Sending delete request..."

RESPONSE=$(curl --max-time 600 -XPOST 
"https://mycluster.com:9243/locations/ca/_delete_by_query?conflicts=proceed" -H 
'Content-Type: application/json' -d' { "query": { "match_all": {} } }' 
--user user:password)

if [[ $RESPONSE == *"deleted"* ]]; then
  echo $RESPONSE
  printf "\n%s\n" "Delete successful, starting Logstash..."
  cd /home/denroot/EP-logstash && bin/logstash -f /home/denroot/EP-
  logstash-configs/locations/create/california.config
else
  echo $RESPONSE
  printf "\n%s\n" "Delete failed, shutting down..."
fi

私が経験している問題は、この特定の種類の文書が500万を超えるということです。 5分が経過する前にElasticsearch削除操作は完了せず、カール要求は終了コード0で終了します。これが発生するのを防ぐために--max-timeを使用できないようです。通常、Elasticsearch の削除操作が完了すると、制御フローロジックが正常に動作するために必要な JSON 応答本文を再送信します。この5分のシャットダウンの問題を防ぐのを手伝ってくれてありがとう。これに対する先例が見つからないようです。

答え1

スクリプトは10分後に終了します。

制限を解除する最大時間を増やすか削除してください。

サーバー側で5分のタイムアウトが指定されている場合は、予想される出力/終了コードを受け取るまで、カールコマンドを複数回実行できます。

関連情報