Ruby, хотя не настолько короткий:
class Overflow
def initialize
Overflow.new
end
end
Overflow.new
Я использую webcron.org , который представляет собой доступную онлайн-службу. Для меня преимущество состоит в том, что у меня есть обзор всех запланированных задач на всех серверах.
Похоже, вашим единственным решением будет "Крон бедняка".
Что вы делаете, это создаете скрипт, который вы размещаете поверх каждой страницы, который запускается каждые 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
). Он может анализировать файл crontab и извлекать определения расписания заданий в таблицу базы данных MySQL. Когда приходит время запускать запланированное задание, оно выполняет команду задания в определении crontab как код PHP как отдельный процесс. Вывод PHP-кода задания также сохраняется в таблице базы данных. Вот еще одна «хитрость». Поскольку вы не можете запустить cron на машине, где находится сценарий, возможно, вы сможете запустить cron на другой машине.
Если вы можете ... настроить задание cron для запуска каждые 5 минут ... Задание может быть простой скрипт PHP, который вызывает другой ваш скрипт PHP. Вы можете использовать cURL для «вызова» вашего скрипта (если этот скрипт обслуживается веб-сервером)
Что-то вроде:
ini_set('max_execution_time', 'sometime');
while(1){
//do something
sleep(sometime);
}
Хотя я не рекомендую это делать. Пора перейти на сервер, который соответствует вашим потребностям.