crontab с wget - почему он запускается дважды?

У меня есть PHP-скрипт, который запускается из веб-сервиса и вставляется в БД.

crontab -e

...... другие задачи cron выше.......
...
..
..
# Запустите test script.php на 1610
10 16 * * * /usr/bin/wget -q -O /home/username/my_cronjobs/logs/cron_adhoc http://localhost/project/script.php

Видимо, в 16:10 этот скрипт запускается дважды! 16:10:01 и 16:25:02

Это что-то не так и нужно делать с помощью wget? Или я неправильно установил график работы cron?

Когда я запускаю http://localhost/project/script.php из браузера, он запускается только один раз.

Есть идеи относительно этой проблемы?

Я проверил, нет других пользователей, выполняющих ту же работу... Я подозреваю, как работает wget.

Поскольку моему сценарию требуется не менее 20 минут, чтобы завершить работу без отправки ответа (он извлекает много данных из веб-служб и сохраняет их в db) ... подозреваю, что по умолчанию возникает тайм-аут или повторная попытка wget, вызывающая эту проблему.

3 ответа

Решение

Я думаю, что я решаю свой собственный вопрос.

Мой php загружается некоторое время, я думаю, wget повторяется или истекает через некоторое время по умолчанию.

Я решил это с помощью /usr/bin/php

Документы wget дают время чтения по умолчанию, равное 900 секундам или 15 минутам.

если в какой-либо момент загрузки данные не получены в течение более указанного количества секунд, чтение завершается неудачно и загрузка возобновляется

Вот почему вы увидели, что файл снова вызывается через 15 минут. Вы можете указать более длительное время чтения, добавив параметр и соответствующее количество секунд:

--read-timeout=1800

Чей это пользовательский crontab?

Проверьте, есть ли другой пользователь, для которого вы настроили работу cron в другое время, и забыл об этом.

Другие вопросы по тегам