Я хочу запустить скрипт каждые 5 минут на сервере. У меня нет каких-либо административных привилегий для выполнения задания cron и т. Д.
Я не хороший программист php, поэтому этот вопрос может показаться странным, но если вы поймете, пожалуйста, скажите мне решение.
Я использую webcron.org, который является доступным онлайн-сервисом. Преимущество для меня в том, что у меня есть обзор всех запланированных задач на всех серверах.
Похоже, ваше единственное решение – «Бедный Человек Крона».
Что вы делаете, так это создать сценарий, который вы размещаете поверх каждой страницы, которая запускается каждые 5 минут. Это не будет гарантировано работать каждые 5 минут. Поскольку для этого требуется, чтобы кто-то посетил страницы с «бедным мужем», и если никто не посещает более 5 минут, он не будет работать, пока кто-то не сделает этого.
Пример кода:
<?php // load the last run time from a file, database, etc if(time() >= $last_run + (60 * 5)) { // 60 * 5 is 5 minutes // do your task here // save the last run time to a file, database, etc }
Вот еще один «взлом». Поскольку вы не можете запустить cron на компьютере, где есть скрипт, возможно, вы можете запустить cron на другой машине.
Если вы можете … настроить задание cron для запуска каждые 5 минут … Задание может быть простым скриптом PHP, который вызывает ваш другой PHP-скрипт. Вы можете использовать cURL для вызова вашего сценария (если этот скрипт обслуживается веб-сервером)
Смотрите это и это .
(Отредактировано для включения контента из ссылок.)
cron
). Он может анализировать файл crontab и извлекать определения планирования заданий в таблицу базы данных MySQL. Когда пришло время запуска запланированного задания, он выполняет команду задания в определении crontab как PHP-код как отдельный процесс. Результат PHP-кода задания также сохраняется в таблице базы данных. Вот как я это делаю
if(date('i', time())%5==0) { // run this code }
Что-то вроде:
ini_set('max_execution_time', 'sometime'); while(1){ //do something sleep(sometime); }
вini_set('max_execution_time', 'sometime'); while(1){ //do something sleep(sometime); }
Хотя я не рекомендую это делать. Время для перехода на сервер, который соответствует вашим потребностям.
Я уверен, что эти инструменты могут помочь вам с вашим запросом:
SetCronJob – http://www.setcronjob.com
Cronless – cronless.com
EasyCron – http://www.easycron.com
Online Cron Jobs – http://www.onlinecronjobs.com
Corntab – http://www.corntab.com
getCron – http://www.getcron.com
Однако не стоит зависеть от другого веб-сайта.
Танки для Google
Мое решение, если ваш сервер Linux. Сделать скрипт bash:
#bin/bash while [ true ] do //do whatever you want, use curl, lynx to your page... sleep 5m done
Запустите его, и если ваш сервер не перезагрузится или сценарий не будет убит, все будет в порядке.
Это нехорошее решение, но работает.
Я бы рекомендовал эту услугу, я использовал ее сегодня, и она работает хорошо.
Крон-Job
и да, это бесплатно!