一尘不染

WGET是否超时?

linux

我正在使用Wget通过cron通过以下命令运行PHP脚本:

wget -O - -q -t 1 http://www.example.com/cron/run

该脚本最多需要5-6分钟来进行处理。WGet是否会等待它并一直提供它所需的时间,还是会超时?


阅读 740

收藏
2020-06-03

共1个答案

一尘不染

根据wget的手册页,有两个与超时有关的选项-默认读取超时为900s-所以我说是的,它可能会超时。

这是有问题的选项:

-T seconds
--timeout=seconds

将网络超时设置为秒秒。这等效于同时指定--dns-timeout--connect-timeout和和 --read-timeout

对于这三个选项:

--dns-timeout=seconds

将DNS查找超时设置为秒秒。
在指定时间内未完成的DNS查找将失败。
默认情况下,除了由系统库实现的查询外,DNS查询没有超时。

--connect-timeout=seconds

将连接超时设置为秒秒。
建立时间较长的TCP连接将被中止。
默认情况下,除了系统库实现的连接超时之外,没有连接超时。

--read-timeout=seconds

将读取(和写入)超时设置为秒秒。
此超时的“时间”是指空闲时间:如果在下载的任何时间点,没有收到超过指定秒数的数据,则读取失败,并重新开始下载。
此选项不会直接影响整个下载的持续时间。

我想使用类似

wget -O - -q -t 1 --timeout=600 http://www.example.com/cron/run

应该确保没有超时时间超过脚本的持续时间。

(是的,这可能是最残酷的解决方案^^)

2020-06-03