Лучший способ периодически выполнять скрипт PHP?
Я бы, наверное, нашел способ сделать это, если бы у меня был полный доступ к серверу, однако проблема в том, что это просто хостинг, который не оставляет мне ничего, кроме доступа по FTP.
Я хотел бы периодически запускать сценарий PHP для проверки устаревшего / поврежденного содержимого, агрегирования нового содержимого, удаления файлов, которые не используются и т. Д., Однако выполнение сценария может занять до 60 секунд (из-за объединения содержимого), и я чувствую, что задница, чтобы просто выполнить его при обработке запроса первого пользователя, который посещает веб-сайт через час после его обновления:P
Оставлять мой домашний компьютер в режиме 24/7 для планирования запросов не вариант.
5 ответов
Вы можете использовать онлайн-сервис cron, чтобы притворяться, будто у вас есть доступ к cron.
Создайте php файл с содержимым, которое вы хотели бы выполнить
Настройте бесплатный онлайн-cron на выполнение этого файла каждые x минут.
Не уверен, что это правильный подход, но я обычно запускал скрипт, когда первый пользователь заходит на сайт, а затем отправлял <meta http-equiv="refresh"...
пользователю для его браузера, чтобы обновить страницу. Оригинальный скрипт PHP по-прежнему будет работать на сервере, но пользователь больше его не увидит.
В основном, что-то вроде:
if( check if the user is the first visitor today ) {
set_time_limit(0);
echo "<meta http-equiv='refresh' content='1;url=..." />"; // put your site baseurl in here
... run your scripts here
}
Просто идея. Может не сработать. Просто попробуйте.
Вы можете обойтись без cron, используя следующее решение (только PHP): http://a32.me/2012/01/do-php-cron-without-cron-available/
Почему ты не используешь
crontab
Посмотрите здесь:
http://en.wikipedia.org/wiki/Cron
Если ваш хостинг-провайдер не предоставляет вам ничего, кроме доступа по FTP, и вы не хотите планировать периодический запрос с другого компьютера, тогда вы ничего не можете сделать. Вам нужно получить лучшую учетную запись хостинга, предпочтительно ту, которая позволяет использовать cron.