Как я могу настроить работу cron программно,
мы сделали установщик для нашего проекта, и во время установки мне нужно программировать cron с PHP.
Обратите внимание, что проект может работать на LINUX / WINDOWS,
как я могу это достичь? или есть лучший вариант, чем CRON JOB.
Я использую Codeigniter (основанные на php решения всегда приветствуются, но это будет очень полезно, если это через CI)
Задача cron включает
Благодарю.
Вот хорошая статья для управления вашими работами Cron из PHP
http://net.tutsplus.com/tutorials/php/managing-cron-jobs-with-php-2/
этот пример содержит полное описание того, как написать задание Cron из PHP, которое управляется из интерфейса с полным исходным кодом.
Cron – это планировщик заданий для Linux. Он не будет работать на окнах (если вы не начнете получать представление о Cygwin и etecetera). Если вы должны поддерживать его в общесистемной системе, в разных неизвестных системах и всех в PHP (которые не могут планировать такие вещи), вы можете обратиться к любому из этих трех используемых решений:
Звонки с наземного управления
(лучше всего по ресурсам, конкретному времени, самому изящному решению)
Случайная работа
(самый простой в реализации, умеренный по ресурсам)
Если вам нужно сделать что-то, что не будет напрямую влиять на поведение пользователей на вашем сайте, и это не зависит от времени (нужно только сделать это), вы можете прибегнуть к тому, чтобы он работал со статистической вероятностью.
// this will run on average once every 100 page views if(rand(1, 100)==1) runJobQueue();
В худшем случае
(сложнее ресурсов)
Если ваша работа должна выполняться каждый раз так часто, потому что она будет непосредственно влиять на пользователя, и она должна соответствовать некоторому расписанию, вы можете сохранить запрос и обновить базу данных с помощью последней метки времени выполнения и продолжать проверять это, чтобы проверить, бег
// if has passed 1 hour since last update... re-update it $result = mysql_query("SELECT `timestamp` FROM job_times WHERE whatever...") if(mysql_result($result, 2) >= ( now() - 3600)) { runJobQueue()
Задача cron доступна для Linux, альтернативой в Windows является задача планирования. http://support.microsoft.com/kb/308569