Бедный человек crontab реализация Zend Framework - PullRequest
1 голос
/ 18 июля 2011

Существуют ли какие-либо легкодоступные реализации crontab для «Бедного человека» (скрипт php, вызываемый каждую минуту или около того), которые можно легко интегрировать в Zend Framework? Предпочтительно использовать панель управления сценарием представления для управления заданиями, заполненную контроллером.

* Edit:

Я нашел Zend_Scheduler , который, похоже, делает то, что мне нужно. Чего не хватает, так это механизма, позволяющего оставаться самодостаточным (не полагаться на внешние cget-теги wget или аналогичные), а выполнять при фактической загрузке страниц.

Есть ли подходящее место в Zend Framework, из которого я могу сделать контрейлер $scheduler->run()? Bootstrap::__destruct() или подобное? Для того, чтобы завершить рендеринг вида, и нажать на клиента, прежде чем какие-либо запланированные задачи имеют место? (Таким образом, клиент не будет подвержен длительным выполнениям, которые могут быть запланированы.

(График, естественно, не будет точным, когда нет посетителей, но я предполагаю, что любое запланированное задание не нужно было бы выполнять, если рядом нет никого, чтобы увидеть результат)

* Edit2:

Zend_Scheduler настолько старый, что он несовместим с более новыми версиями Zend Framework и поэтому не работает должным образом. Существуют ли другие автономные библиотеки, которые можно использовать для этого?

Ответы [ 3 ]

0 голосов
/ 19 июля 2011

Вы можете написать Zend_Controller_Plugin, который реализует метод dispatchLoopShutdown().Я думаю, это было бы лучше, чем реализация $scheduler->run() в классе Bootstrap.Подробнее см. http://framework.zend.com/manual/en/zend.controller.plugins.html.

0 голосов
/ 22 июля 2011

Что бы я сделал, это настольное приложение, которое будет вызывать какой-то URL каждые x секунд (... скажем, используя wget). Привязка к обычному запросу - плохая идея IMO.

Но на самом деле вы можете поставить его после Boostrap-> run (). Метод run (после завершения) возвращает ответ клиенту, так что вы можете свободно связываться со всем, что вам нужно;) Я бы использовал некоторую функцию для получения URL-адреса (file_get_contents () или чего-то лучшего - в этом нет необходимости жди актуального контента - скручивай ... может быть). И сохраните фактический код в этом URL. Это лучше, чем копить фактический код на запрос ...

0 голосов
/ 18 июля 2011

Полагаю, вы имеете в виду модуль Drupal бедного человека . Zend Framework не поставляется с чем-то подобным, да и Drupal на самом деле не имеет, но у них есть модули, которые создаются и поддерживаются сообществом Drupal.

В Zend Framework, к сожалению, отсутствует что-то вроде модулей, управляемых сообществом. Вы должны найти свои модули где-нибудь в дикой природе. Я сомневаюсь, что вы найдете что-то вроде плохого человека, но, возможно, вы можете взять этот модуль и с небольшими изменениями работает в ZF.

...