A solicitação de curvatura sai em cinco minutos inesperadamente

0

Estou usando um script de shell para disparar uma solicitação de curl que exclui todos os documentos de um determinado tipo no meu cluster do Elasticsearch. Se for bem-sucedido, o Logstash será iniciado e tentará reindexar os documentos do tipo excluído.

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

O problema que encontrei neste tipo específico é mais de 5 milhões de documentos. A tarefa de exclusão do Elasticsearch não pode ser concluída antes de decorridos 5 minutos, e minha solicitação de curvatura sai com um código de saída 0. Não consigo impedir que isso aconteça com --max-time. Normalmente, quando a tarefa de exclusão é concluída no Elasticsearch, ela envia de volta um corpo de resposta JSON que eu preciso para que minha lógica de fluxo de controle funcione corretamente. Qualquer ajuda para evitar este problema de saída de 5 minutos seria muito apreciada, pois não consigo encontrar um precedente.

    
por taylorhessel 09.11.2017 / 17:45

1 resposta

0

Seu script deve sair depois de 10 minutos.

Tente aumentar (ou remover) o tempo máximo para aumentar esse limite

Se o tempo limite de 5 minutos for imposto no lado do servidor, você poderá tentar executar o comando curl várias vezes até receber o código de saída / saída esperado.

    
por 09.11.2017 / 21:12

Tags