Пример использования fastcgi_finish_request()

Может ли кто-нибудь показать простой пример того, как использовать функцию fastcgi_finish_request()? Я googled, но только нашел некоторое общее упоминание об этом, некоторые говорят, что они используют его успешно, но я не мог найти ни одного примера с кодом.

Например, у меня есть объект PHP. Чтобы отправить ответ в браузер, я генерирую HTML, затем возвращая его через getResult(). Затем повторите результат.

Вот так:

$obj = new controller();
echo $o->getResult();

Скажем, я хочу воспользоваться этим методом оптимизации, чтобы отправить результат в браузер, а затем завершить некоторые потенциально длительные процессы, такие как подключение к некоторому API, например, API Facebook.

Как мне это сделать? Я понимаю, что в основном я могу вызвать fastcgi_finish_request();, а затем продолжить выполнение PHP скрипт.

Мне просто нужно увидеть пример кода, я недостаточно умен, чтобы понять это сам.

Ответ 1

Я понимаю, что в основном я могу вызвать fastcgi_finish_request(); а затем продолжить выполнение php script.

Да, это все, что вам нужно сделать.

$obj = new controller();
echo $o->getResult();
fastcgi_finish_request();
do_facebook_thing();

Чтобы убедить себя, что он работает, сделайте следующее:

echo "Test";
fastcgi_finish_request();
sleep(10);

Если вы удалите вторую строку, вы увидите, что браузер должен ждать 10 секунд.