fastcgi_finish_request

(PHP 5 >= 5.3.3, PHP 7, PHP 8)

fastcgi_finish_requestDescarga todos los datos de la respuesta al cliente

Descripción

fastcgi_finish_request(): bool

Esta función descarga todos los datos de la respuesta al cliente y finaliza la solicitud. Esto permite que las tareas que consumen tiempo se realicen sin dejar la conexión con el cliente abierta.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve true en caso de éxito o false en caso de error.

add a note add a note

User Contributed Notes 2 notes

up
68
tuxrampage
6 years ago
There are some pitfalls  you should be aware of when using this function.

The script will still occupy a FPM process after fastcgi_finish_request(). So using it excessively for long running tasks may occupy all your FPM threads up to pm.max_children. This will lead to gateway errors on the webserver.

Another important thing is session handling. Sessions are locked as long as they're active (see the documentation for session_write_close()). This means subsequent requests will block until the session is closed.

You should therefore call session_write_close() as soon as possible (even before fastcgi_finish_request()) to allow subsequent requests and a good user experience.

This also applies for all other locking techniques as flock or database locks for example. As long as a lock is active subsequent requests might bock.
up
-3
Patrick Allaert
1 year ago
This is very poor man's approach to async execution.

Better relying on message queues to process something asynchronously.
To Top