Подтвердить что ты не робот

Как запустить PHP скрипт через каждые 5-10 минут без cron, perl и т.д.?

Я хочу запускать script каждые 5 минут на сервере. У меня нет каких-либо административных привилегий для выполнения задания cron и т.д.

Я не хороший программист php, поэтому этот вопрос может показаться странным, но если вы поймете, пожалуйста, скажите мне решение.

4b9b3361

Ответ 1

Я использую webcron.org, который является доступным онлайн-сервисом. Преимущество для меня в том, что у меня есть обзор всех запланированных задач на всех серверах.

Ответ 2

Похоже, что единственным решением будет "Бедный Человек Крон".

Что вы делаете, создайте 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
 }

Ответ 3

Вот еще один "взломать". Поскольку вы не можете запустить cron на машине, где находится script, возможно, вы можете запустить cron на другой машине.

Если вы можете... настроить задание cron для запуска каждые 5 минут... Задание может быть простым PHP script, который вызывает ваш другой PHP скрипт. Вы можете использовать cURL для вызова вашего script (если этот script обслуживается веб-сервером)

Ответ 4

Смотрите этот и .


(Отредактировано для включения содержимого из ссылок.)

  • PHP Cron Daemon управляется базой данных для планирования выполнения задачи (например, cron). Он может анализировать файл crontab и извлекать определения планирования заданий в таблицу базы данных MySQL. Когда пришло время запуска запланированного задания, он выполняет команду задания в определении crontab как PHP-код как отдельный процесс. Результат PHP-кода задания также сохраняется в таблице базы данных.

Ответ 5

Мое решение, если ваш сервер Linux. Сделайте bash script:

#bin/bash
while [ true ]
do
     //do whatever you want, use curl, lynx to your page...
     sleep 5m
done

Запустите его, и если ваш сервер не перезагрузится или script не будет убит, все будет в порядке.

Это нехорошее решение, но работает.

Ответ 6

Что-то вроде:

ini_set('max_execution_time', 'sometime'); 
while(1){
    //do something
    sleep(sometime);
}

Хотя я не рекомендую это делать. Время для перехода на сервер, который соответствует вашим потребностям.

Ответ 7

Я уверен, что эти инструменты могут помочь вам с вашим запросом:

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

Ответ 8

Вот как я это делаю, это относится только к загруженным веб-сайтам, потому что вам нужно посещать каждые 5 минут (по крайней мере), чтобы запустить его вовремя.

if(date('i', time())%5==0) {
// run this code
}

Ответ 9

Я бы рекомендовал эту услугу, я использовал ее сегодня и, похоже, хорошо работает.

Cron-Job

и да, это бесплатно!