Создать cronjob с Zend Framework - PullRequest
       35

Создать cronjob с Zend Framework

21 голосов
/ 27 сентября 2008

Я пытаюсь написать контроллер cronjob, чтобы я мог вызвать один веб-сайт и выполнить все модули cronjob.php. Теперь моя проблема в том, как мне это сделать?

Будет ли опция curl, чтобы я также мог посчитать ошибки и успехи?

[Update]

Полагаю, я недостаточно объяснил.

То, что я хочу сделать, - это иметь один файл, который я могу вызвать как http://server/cronjob, а затем заставить его выполнять каждый /application/modules/*/controller/CronjobController.php или иметь другой способ сделать это так все cronjobs не в одном месте, а в одном и том же месте, где находится модуль. Это дает мне преимущество в том, что если модуль не существует, он не пытается запустить свой cronjob.

Теперь мой вопрос: как бы вы выполнили все модули CronjobController или сделали бы это совершенно по-другому, чтобы он по-прежнему оставался модульным?

И я хочу быть в состоянии выдать, сколько cronjobs успешно запустилось, а сколько нет

Ответы [ 14 ]

0 голосов
/ 13 января 2011

Я расширил ответ Грегора с этим постом . Вот что получилось:

//public/index.php 

// Run application, only if not started from command line (cli)
if (php_sapi_name() != 'cli' || !empty($_SERVER['REMOTE_ADDR'])) {
    $application->run();
}

Спасибо, Грегор!

0 голосов
/ 28 сентября 2008

Вы можете настроить таблицу базы данных для хранения ссылок на сценарии cronjob (в ваших модулях), а затем использовать команду exec с возвращаемым значением pass / fail.

0 голосов
/ 27 сентября 2008

У вас есть доступ файловой системы к каталогам модулей? Вы можете перебрать каталоги и определить, где доступен CronjobController.php. Тогда вы можете либо использовать Zend_Http_Client для доступа к контроллеру через HTTP, либо использовать такой подход, как Zend_Test_PHPUnit: локально имитировать фактический процесс отправки.

0 голосов
/ 27 сентября 2008

http://framework.zend.com/wiki/display/ZFPROP/Zend_Scheduler+-+Matthew+Ratzloff?rootCommentId=1819 эта ссылка, которую я нашел с помощью Google, кажется довольно интересной.

Это не тихо, что я ищу, но если я не смогу найти то, что искал, мне придется самому себе.

...