Используя cron рабочих мест, чтобы посетить URL-адрес?
У меня есть веб-приложение, которое должно выполнять повторные задачи, отправлять сообщения и оповещения, я уже использую страницу скрипта для выполнения этих задач при загрузке в браузер, т. е. http://example.com/tasks.php и я включил его с помощью iframe на каждой странице моего веб-приложения.
теперь я хочу изменить это, чтобы использовать задания CRON, потому что первый подход может привести к производительности jam, поэтому как я могу сделать задание CRON, которое посещает http://example.com/tasks.php. однако я не хочу, чтобы это задание CRON создавало выходные файлы, такие как day.*!
Я размещаю приложение на общем хостинге, которое разрешает задания CRON через cPanel.
9 ответов:
* * * * * wget -O - http://yoursite.com/tasks.php >/dev/null 2>&1
Это должно работать для вас. Просто есть
wget
скрипт, который загружает страницу.используя
-O -
означает, что вывод веб-запроса будет отправлен в STDOUT (стандартный вывод)добавлять
>/dev/null
мы инструктируем стандартный вывод быть перенаправлены на черную дыру. путем добавления2>&1
мы инструктируем STDERR (ошибки) также быть отправленным в STDOUT, и таким образом все выходные данные будут отправлены в черную дыру. (так что он будет загружать веб-сайт, но никогда не писать файл где угодно)
вам не нужно перенаправление, используйте только
* * * * * wget -qO /dev/null http://yoursite.com/tasks.php
можно использовать
curl
как в этой threadдля ленивых:
*/5 * * * * curl --request GET 'http://exemple.com/path/check.php?param1=1'
это будет выполняться каждые 5 минут.
вы также можете использовать локальную командную строку php-cli:
* * * * * php /local/root/path/to/tasks.php > /dev/null
это быстрее и уменьшить нагрузку на ваш веб-сервер.
Я использую эту команду
wget -q -O /dev/null "http://example.com/some/cron/job.php" > /dev/null 2>&1
Cron задача:
* * * * * wget -q -O /dev/null "http://example.com/some/cron/job.php" > /dev/null 2>&1