Zend Framework: выполнение кода после отправки ответа пользователю - PullRequest
1 голос
/ 13 марта 2012

У меня есть простое требование выполнить некоторый код после того, как представление было визуализировано и отправлено обратно пользователю.

Пользователю не нужно уведомлять о результатах обработки, и я не хочучтобы удержать пользователя во время обработки чего-то, что не имеет к нему отношения, даже если это займет, вероятно, всего несколько секунд.Мне нужно что-то быстрое и простое на данный момент.

В идеале мне все еще нужен доступ к zend_registry и другим данным, созданным в результате выполненного действия.

Я думал о плагине и перехватывании routeShutdown (), но этоКажется, уже далеко ...

Какие мысли ...

Спасибо.

1 Ответ

4 голосов
/ 13 марта 2012

В подобных обстоятельствах я обычно создаю очередь - вероятно, хранящуюся в таблице базы данных - и затем запускаю процесс cron для использования этой очереди. Очередь содержит данные - или, по крайней мере, указатели на данные - которые мне нужны для обработки после запроса.

Примечание: Фактический объект HTTP-запроса и все данные, относящиеся к запросу (как и все, что хранится в Zend_Registry), пропали , не напрямую доступны для вашего хрон процесс. Если для обработки после запроса вам понадобятся какие-либо из этих данных для каждого запроса, убедитесь, что вы сохранили эти данные в своей рабочей очереди или в каком-либо другом постоянном месте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...