Продолжить выполнение PHP после отправки ответа HTTP

Как я могу сделать так, чтобы PHP 5.2 (работающий как apache mod_php) отправлял полный HTTP-ответ клиенту, а затем продолжал выполнять операции еще одну минуту?

Длинная история:

У меня есть PHP-скрипт, который должен выполнять несколько длинных запросов к базе данных и отправлять электронную почту, что занимает от 45 до 60 секунд. Этот скрипт вызывается приложением, которое я не могу контролировать. Мне нужно, чтобы приложение сообщало о любых сообщениях об ошибках, полученных из сценария PHP (в основном это неверные параметры).

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

Я бегу mod_php, такpcntl_fork не доступен. Я мог бы обойти это путем сохранения данных для обработки в базе данных и запуска фактического процесса изcron, но я ищу более короткое решение.

Ответы на вопрос(12)

Ваш ответ на вопрос