Zatím jsem nic pořádně nenašel, ale je pravda, že curl ve skutečnosti vůbec nevyprší časový limit?
 [email protected]:~# curl http://localhost/testdir/image.jpg
 Ptám se, protože přesměruji jakýkoli požadavek na obrázky v testdir do samostatného modulu Apache, který tyto obrázky generuje za běhu. Než bude obrázek skutečně připraven a doručen žádajícímu klientovi, může to trvat až 15 minut.
 curl vždy čekat (nebo to závisí na konfiguraci) nebo existuje nějaký časový limit?
Přijatá odpověď:
Ano.
Parametry časového limitu
 curl má dvě možnosti:--connect-timeout a --max-time .
Citace z manuálové stránky:
--connect-timeout <seconds>
    Maximum  time  in  seconds  that you allow the connection to the
    server to take.  This only limits  the  connection  phase,  once
    curl has connected this option is of no more use.  Since 7.32.0,
    this option accepts decimal values, but the actual timeout  will
    decrease in accuracy as the specified timeout increases in deci‐
    mal precision. See also the -m, --max-time option.
    If this option is used several times, the last one will be used.
a:
-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.  Since
    7.32.0, this option accepts decimal values, but the actual time‐
    out will decrease in accuracy as the specified timeout increases
    in decimal precision.  See also the --connect-timeout option.
    If this option is used several times, the last one will be used.
Výchozí
 Zde (v Debianu) se přestane pokoušet o připojení po 2 minutách, bez ohledu na čas zadaný pomocí --connect-timeout a ačkoli se zdá, že výchozí hodnota časového limitu připojení je 5 minut podle DEFAULT_CONNECT_TIMEOUT makro v lib/connect.h.
 Výchozí hodnota pro --max-time Zdá se, že neexistuje, takže se curl čekat navždy na odpověď, pokud bude počáteční připojení úspěšné.
Co použít?
 Pravděpodobně vás zajímá druhá možnost, --max-time . Pro váš případ jej nastavte na 900 (15 minut).
 Zadání možnosti --connect-timeout na něco jako 60 (jedna minuta) může být také dobrý nápad. V opačném případě curl se pokusí připojit znovu a znovu, zřejmě pomocí nějakého backoff algoritmu.