Theo the man page of wget, có một vài tùy chọn liên quan đến timeout - và có một mặc định đọc timeout của 900s - vì vậy tôi nói rằng, vâng, nó có thể timeout .
Dưới đây là các tùy chọn trong câu hỏi:
-T seconds
--timeout=seconds
Đặt thời gian chờ mạng đến giây giây. Điều này tương đương với chỉ định --dns-timeout
, --connect-timeout
và --read-timeout
, tất cả cùng một lúc thời gian.
Và đối với những ba lựa chọn:
--dns-timeout=seconds
Đặt tra cứu DNS để timeout giây giây.
Tra cứu DNS không hoàn thành hoàn thành trong khoảng thời gian đã chỉ định sẽ không thành công.
Theo mặc định, không có thời gian chờ trên tra cứu DNS, ngoài được triển khai bởi thư viện hệ thống.
--connect-timeout=seconds
Đặt thời gian chờ kết nối đến giây giây.
Kết nối TCP mất dài hơn để thiết lập sẽ bị hủy.
Theo mặc định, không có thời gian chờ kết nối , ngoài các thư viện hệ thống đã triển khai .
--read-timeout=seconds
Đặt thời gian chờ đọc (và viết) để giây giây.
"thời gian" của thời gian chờ này đề cập đến thời gian không hoạt động: nếu, tại bất kỳ thời điểm nào trong quá trình tải xuống, không có dữ liệu nhận được hơn số giây được chỉ định, đọc không thành công và quá trình tải xuống được khởi động lại.
Tùy chọn này không trực tiếp ảnh hưởng đến thời lượng của toàn bộ quá trình tải xuống .
Tôi cho rằng sử dụng một cái gì đó giống như
wget -O - -q -t 1 --timeout=600 http://www.example.com/cron/run
nên chắc chắn không có thời gian chờ trước khi dài hơn thời gian của kịch bản của bạn.
(Yeah, đó là lẽ là giải pháp tàn bạo nhất có thể ^^)
nếu tôi đặt -t 0 nó sẽ đợi vô thời hạn? –
Tùy chọn '-t' có vẻ là bí danh của' --tries', * Đặt số lần thử lại thành số. * ;;; Nó dường như không liên quan đến bất kỳ loại thời gian chờ nào, nhưng với số lần wget sẽ cố gắng tải xuống nếu có lỗi - và có thể bạn không muốn thời gian chờ bị coi là lỗi và kịch bản được gọi lại. –
- timeout = 0 sẽ tắt thời gian chờ – MiniScalope