PHP скрипт. Simple URL Checker - запуск проверок по расписанию

Приветствую всех!
Это заключительная статья о разработке web приложения, выполняющего проверку URL.
Примечание. Ссылки на предыдущие статьи этого цикла вы найдете здесь.
На данный момент у нас уже есть работоспособное приложение. Но запускать проверки мы можем только с помощью web интерфейса.
Естественно, гораздо удобнее выполнять проверки по расписанию, а потом периодически просматривать результаты.
И вот здесь возникает проблема. Мы не можем из командной строки вызвать метод ping, т.к. для этого нужно создать экземпляр класса контроллера (Main) и заодно инициализировать ядро фреймворка.
Вообще при работе с CodeIgniter все запросы отправляются скрипту index.php, а уже он в зависимости от полученных параметров инициализирует объекты и вызывает нужные методы.
Проблему можно решить несколькими способами.
1) «В лоб» - написать отдельный скрипт, который будет работать аналогично методу ping. Это, мягко говоря, далеко не самое удачное решение, т.к. придется продублировать код.
2) Использовать cURL. Например, так:
curl http://simple_url_checker/index.php/main/ping
3) Об этом способе я прочитал в статье «Running CodeIgniter from Cron/CLI».
Идея такая. Нужно написать скрипт (cron_cli.php) и поместить его в папку с index.php.
-
<?php
-
$_GET["/main/ping"] = null;
-
require "index.php";
-
?>
Теперь можно просто вызвать этот скрипт из командной строки.
По идее, этот вариант должен работать быстрее, чем второй, т.к. cURL сама по себе потребляет ресурсы, и, кроме того, запрос будет сделан через веб сервер (apache), а не напрямую к скрипту.
Примечание. В оригинальной статье есть и другой вариант скрипта:
-
$_SERVER["REQUEST_URI"] =”main/ping”;
-
require “index.php”;
Но у меня он не работал.
Все. Наше приложение закончено и вы можете скачать архив с его исходниками. В архиве находится папка system/application с приложением, файлы simpleurl.sql, cron_cli.php и install.txt с инструкциями по установке.
Напомню, что ссылки на все статьи и примеры этого цикла находятся здесь.
Удачи!
P.S. Буду рад услышать ваши отзывы!
Понравилась статья? Подпишитесь на продолжение
!
Опубликовано в CodeIgniter, PHP, Web разработка
Комментарии (2)
Вы можете отслеживать обсуждение записи с помощью RSS 2.0 ![]()
Вы также можете оставить комментарий, или трекбек с Вашего сайта.
Оставить комментарий








Есть ещё способ. Простой до безобразия:
wget -O /dev/null http://simple_url_checker/index.php/main/ping
Отличный вариант!
Спасибо!