Я пишу компонент для Joomla и существует определенная задача, которая требует обновления некоторой статистики время от времени. Я хотел бы установить задание крона, чтобы сделать это. Единственная проблема, это требует, чтобы пользователь пошел и установил крон для запущения скрипта статистики обновления php.
На установке компонента, как я могу автоматически установить задание крона для пользователя? Действительно ли это возможно?
Я видел, что реализованный в Akeeba копирует про компонент для Joomla, таким образом, я надеялся, что смогу сделать то же самое.
Спасибо
Теоретически вы можете создать файл crontab и вызывать его из PHP
<?php
exec("crontab $path_to_cron_file");
, на практике это зависит от того, позволяет ли вам это делать сервер (если вы находитесь на общем хостинге).
Все, что вам нужно сделать, это записать строку в файл crontab, обычно хранящийся в / var / spool / cron / crontabs / имя пользователя
. Демон cron увидит, что время модификации файла изменилось, и автоматически перезагрузит его, когда проснется, чтобы выполнить свои проверки
Другой вариант (менее желательный с точки зрения нагрузки на сервер, но более простой для пользователей) - это создание подключаемого модуля, который запускается каждый раз, когда посетитель посещает сайт. Он может проверить, был ли процесс запущен в указанное время, а затем запустить его, если его нужно запустить.
У iJoobi.com есть другое решение, в котором они настроили сервер для запуска задач cron, которые затем будут пинговать определенный URL-адрес на веб-сайте, чтобы запустить процесс. ( http://www.ijoobi.com/Help/jNews/jNews-Cron-Task.html )