Использование cron-менеджера из PHP

Я хочу добавить раздел в моем приложении php для добавления / удаления запланированных задач.

Что-то похожее на то, что они используют на форуме vBulletin .

Кто-нибудь есть идеи, что они используют? Используют ли они задания cron или делают что-то выполненное на заказ.

Может ли кто-нибудь направить меня на то, как я могу выполнить что-то похожее на это, в основном я просто хочу, чтобы мой скрипт добавлял или удалял задания / задание cron.

Я не хочу использовать, например, интерфейс cPanel Cron, я хотел бы выполнить это из моего сценария.

Любая помощь приветствуется.

Related of "Использование cron-менеджера из PHP"

Если у вас нет функции exec() , вы должны полагаться на ручную установку по крайней мере одного задания cron через некоторый интерфейс, а затем управление отдельными заданиями в вашем скрипте.

Например, я делаю это

  1. У меня есть скрипт heartbeat.php который выполняется каждую минуту
  2. Этот скрипт проверяет таблицу crontab MySQL и проверяет, есть ли какая-либо строка (задание) с time_to_process <= NOW()
  3. Если есть, он загружает класс, определенный для определенной строки из таблицы crontab
  4. Класс реализует интерфейс с помощью метода run() и я вызываю только $cronJob->run() чтобы он выполнялся
  5. Затем класс обрабатывает его перепланирование через таблицу crontab только он заканчивается

Хорошим примером является сброс ежедневных просмотров некоторых элементов. Работа запланирована на 1 мая 2010 года 00:00. Как только работа запустится, она автоматически планирует себя на следующий день.
Затем вы можете реализовать автоматический сброс неудавшихся заданий и многих других функций из PHP.

http://ryanfaerman.com/php-crontab-manager/

это php-класс, который позволяет вам получить доступ к crontab из PHP с помощью класса.

Я считаю, что vBulletin «подделывает» работы cron. Любой пользователь, который обращается к странице, выполняет код, который проверяет, должны ли выполняться какие-либо задачи.

Если, однако, ни один пользователь не посещает веб-сайт, ни одно из заданий cron не будет выполняться, этот метод на 100% зависит от просмотров страниц.

Кроме того, чтобы предотвратить отсрочку страницы для пользователей, выполняющих задания cron, они выполняются после того, как страница была отображена.

Опять же, это именно то, что я думаю , происходит, я сам не смотрел на код.

Надеюсь это поможет.

Вот мое решение 🙂

Пример из командной строки:

 bin/cronman --enable /var/www/myproject/.cronfile --user www-data 

Нажмите для получения дополнительной информации: php-crontab-manager

Вот класс crontab PHP:

http://www.kavoir.com/2011/10/php-crontab-class-to-add-and-remove-cron-jobs.html

Используйте методы для добавления, редактирования или удаления заданий cron.