Ответ 1
Я использую webcron.org, который является доступным онлайн-сервисом. Преимущество для меня в том, что у меня есть обзор всех запланированных задач на всех серверах.
Я хочу запускать script каждые 5 минут на сервере. У меня нет каких-либо административных привилегий для выполнения задания cron и т.д.
Я не хороший программист php, поэтому этот вопрос может показаться странным, но если вы поймете, пожалуйста, скажите мне решение.
Я использую webcron.org, который является доступным онлайн-сервисом. Преимущество для меня в том, что у меня есть обзор всех запланированных задач на всех серверах.
Похоже, что единственным решением будет "Бедный Человек Крон".
Что вы делаете, создайте script, который вы помещаете поверх каждой страницы, которая запускается только каждые 5 минут. Это не будет гарантировано работать каждые 5 минут. Поскольку это требует, чтобы кто-то посетил страницы с "бедным человеком cron", и если никто не посещает более 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 на машине, где находится script, возможно, вы можете запустить cron на другой машине.
Если вы можете... настроить задание cron для запуска каждые 5 минут... Задание может быть простым PHP script, который вызывает ваш другой PHP скрипт. Вы можете использовать cURL для вызова вашего script (если этот script обслуживается веб-сервером)
Смотрите этот и .
(Отредактировано для включения содержимого из ссылок.)
cron
). Он может анализировать файл crontab и извлекать определения планирования заданий в таблицу базы данных MySQL. Когда пришло время запуска запланированного задания, он выполняет команду задания в определении crontab как PHP-код как отдельный процесс. Результат PHP-кода задания также сохраняется в таблице базы данных.Мое решение, если ваш сервер Linux. Сделайте bash script:
#bin/bash
while [ true ]
do
//do whatever you want, use curl, lynx to your page...
sleep 5m
done
Запустите его, и если ваш сервер не перезагрузится или script не будет убит, все будет в порядке.
Это нехорошее решение, но работает.
Что-то вроде:
ini_set('max_execution_time', 'sometime');
while(1){
//do something
sleep(sometime);
}
Хотя я не рекомендую это делать. Время для перехода на сервер, который соответствует вашим потребностям.
Я уверен, что эти инструменты могут помочь вам с вашим запросом:
SetCronJob - www.setcronjob.com
Cronless - cronless.com
EasyCron - www.easycron.com
Online Cron Jobs - www.onlinecronjobs.com
Corntab - www.corntab.com
getCron - www.getcron.com
Однако, это не очень хорошая идея, чтобы зависеть от другого веб-сайта.
Танки до Google
Вот как я это делаю, это относится только к загруженным веб-сайтам, потому что вам нужно посещать каждые 5 минут (по крайней мере), чтобы запустить его вовремя.
if(date('i', time())%5==0) {
// run this code
}
Я бы рекомендовал эту услугу, я использовал ее сегодня и, похоже, хорошо работает.
и да, это бесплатно!