Есть ли способ, с помощью которого скрипт PHP или оболочки может настроить работу cron на веб-сервере? - PullRequest
1 голос
/ 21 июня 2010

Я пишу компонент для Joomla, и есть определенная задача, которая требует частого обновления статистики.Я хотел бы настроить работу cron для этого.Единственная проблема заключается в том, что пользователь должен перейти и настроить cron для запуска сценария php update stats.

При установке компонента, как я могу автоматически настроить задание cron для пользователя?Возможно ли это?

Я видел, как это реализовано в компоненте Akeeba Backup Pro для Joomla, поэтому я надеялся, что смогу сделать то же самое.

Спасибо

Ответы [ 3 ]

1 голос
/ 21 июня 2010

Теоретически вы можете создать файл crontab и вызывать его из PHP

<?php
exec("crontab $path_to_cron_file");

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

1 голос
/ 21 июня 2010

Все, что вам нужно сделать, это записать строку в файл crontab, обычно хранящийся в /var/spool/cron/crontabs/username. Демон cron увидит, что время изменения файла изменилось, и автоматически перезагрузит его, когда он проснется, чтобы выполнить свои проверки

0 голосов
/ 24 июня 2010

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

У iJoobi.com есть другое решение, где они настроили сервер для запуска задач cron, который бызатем пропингуйте конкретный URL на сайте, чтобы начать процесс.(http://www.ijoobi.com/Help/jNews/jNews-Cron-Task.html)

...