Я выполняю Сценарий PHP через использование крона Wget со следующей командой:
wget -O - -q -t 1 http://www.example.com/cron/run
Сценарий возьмет максимум 5-6 минут, чтобы сделать его обработку. WGet будет ожидать его и давать всему этому время, в котором требуется, или это испытает таймаут?
Согласно справочной странице wget , есть несколько параметров, связанных с тайм-аутами - и таймаут чтения по умолчанию составляет 900 секунд, поэтому я говорю, что да, это может быть тайм-аут.
Вот параметры, о которых идет речь:
-T seconds
--timeout=seconds
Установите время ожидания сети на секунды секунды. Это эквивалентно указанию
- dns-timeout
,- connect-timeout
и- время ожидания чтения
, все в одно и то же время .
И для этих трех вариантов:
--dns-timeout=seconds
Установите время ожидания поиска DNS на секунды секунды.
Поиск DNS, который не завершился в течение указанного времени , завершится ошибкой.
По умолчанию для DNS-запросов нет тайм-аута , кроме , реализуемого системными библиотеками.
--connect-timeout=seconds
Установите тайм-аут подключения на секунды секунды.
TCP-соединения, для установления которых требуется больше времени, будут прерваны.
По умолчанию тайм-аут подключения отсутствует, кроме реализованного системными библиотеками.
--read-timeout=seconds
Установите тайм-аут чтения (и записи) на секунд секунды.
«Время» этого тайм-аута относится к времени простоя: если в любой момент загрузки, данные не получены более чем за {{1} }} указанное количество секунд, чтение завершится ошибкой и загрузка будет перезапущена.
Этот параметр не влияет напрямую на продолжительность всей загрузки .
Я полагаю, что использование чего-то вроде
wget -O - -q -t 1 --timeout=600 http://www.example.com/cron/run
должно гарантировать, что нет тайм-аута, превышающего продолжительность вашего скрипта.
(Да, это, наверное, самое жестокое решение из возможных ^^)
Тайм-аут по умолчанию составляет 900 секунд. Вы можете указать другой тайм-аут.
-T seconds
--timeout=seconds
По умолчанию попытка повторяется 20 раз. Вы можете указать разные попытки.
-t number
--tries=number
ссылка: документ wget man