Imposta il timeout per la risposta della pagina Web con l'arricciatura


15

Uso uno strumento per monitorare se la pagina Web è attiva e funzionante.

Lo strumento utilizza il curlcomando internamente per recuperare l'output.

Tuttavia, quando una pagina Web impiega più tempo a rispondere, viene restituito un TIMEOUTerrore. Non è possibile aumentare il timeout dallo strumento.

Esiste un modo per impostare / modificare il periodo di timeout per una risposta da una pagina Web?

C'è qualche variabile che può essere modificata?

Risposte:


23

Puoi usare l' -mopzione:

-m, --max-time <seconds>
              Maximum time in seconds that you allow the  whole  operation  to
              take.   This is useful for preventing your batch jobs from hang‐
              ing for hours due to slow networks or  links  going  down.   See
              also the --connect-timeout option.

              If this option is used several times, the last one will be used.

Ciò include il tempo di connessione, se si desidera specificarlo separatamente, utilizzare l' --connect-timeoutopzione.


4

Normalmente lo faresti con un'opzione sulla riga di comando quando curlviene invocato. Ma dal momento che non puoi cambiarlo, c'è un altro modo: puoi creare un file di configurazione per curl. Su unix, curlcercherà prima nella directory home dell'utente che esegue curl un file chiamato .curlrc. Crea quel file con la linea

connect-timeout = 10

per ridurre il timeout a 10 secondi. Oppure puoi impostare un tempo massimo per l'intera operazione, con l'opzione max-time:

max-time = 10

È una grande idea ... ma mi chiedevo anche, se esiste una particolare variabile env per questo o qualcosa che può essere impostato dal backend come ulimit per aumentare il conteggio FD?
user80040

Non riesco a trovare nulla del genere nella pagina man.
Jenny D,

4

curl ha un'opzione "connetti timeout":

--connect-timeout <seconds>

Se il tuo "strumento" è uno script, puoi modificarlo manualmente lì. Ma /unix//a/148926/77959 è ancora meglio - modifica curl-config!


Ya..aggiungere la configurazione è piuttosto un'idea brillante..ma mi stavo anche chiedendo, se esiste una variabile env particolare per quello o qualcosa che può essere impostato dal backend come ulimit per aumentare il conteggio FD?
user80040

@ user80040 No, non c'è. Non esiste un "backend", il timeout non è una sorta di limitazione del sistema. Curl esegue la richiesta Web e decide di andare in timeout in base alla sua configurazione.
Gilles 'SO- smetti di essere malvagio' il

0

Da Curlè possibile utilizzare questa opzione --connect-timeout: Tempo massimo in secondi che si consente alla connessione al server. Questo limita solo la fase di connessione, una volta curlconnessa questa opzione non serve più. Vedi anche l' --max-timeopzione.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.