Pregunta

Al enviar la solicitud de estado PG_CONNECTION_BUSY (), ¿la solicitud discrimina entre "Conexión ocupada" y "Servidor ocupado"?

En otras palabras, un servidor tiene 100 conexiones permitidas, con una de ellas aplicadas al script actual. Las 100 conexiones envían simultáneamente una consulta, con más de 99 de ellas que requieren más de 2 segundos de tiempo de procesamiento (teóricamente colocando el servidor en un estado máximo, lo que lo hace "ocupado"). Una de esas 100 solicitudes fue un pg_server_busy() solicitud. ¿Sería la respuesta True o False?

¿Fue útil?

Solución

pg_connection_busy() Básicamente llama a LibPQ PQconsumeInput() seguido por PQisBusy(), ambos están documentados enProcesamiento de comandos asíncronos.

Esto no tiene nada que ver con que el servidor esté ocupado en general con otras conexiones. Además, no le envía nada, consulta o no, es puramente una condición local sobre el almacenamiento en búfer de los datos entrantes al recuperar los resultados de manera asincrónica.

Desafortunadamente, el ejemplo dado por la documentación de PHP es engañoso. Llama pg_connection_busy() En una nueva conexión sin ninguna consulta asíncrona en funcionamiento, lo que no tiene ningún sentido.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top