Question

Lors de l'envoi de la demande d'état PG_CONNECTION_BUSY (), la demande distingue-t-elle "Connection occupée" et "serveur occupé"?

En d'autres termes, un serveur a 100 connexions autorisées, l'une d'entre elles appliquée au script actuel. Les 100 connexions envoient simultanément une requête, dont 99 nécessitant plus de 2 secondes de temps de traitement (mettant théoriquement le serveur dans un état maximal, ce qui le rend «occupé»). L'une de ces 100 demandes était un pg_server_busy() demande. La réponse serait-elle True ou False?

Était-ce utile?

La solution

pg_connection_busy() Fondamentalement, appelle Libpq PQconsumeInput() suivie par PQisBusy(), les deux sont documentés dansTraitement de commande asynchrone.

Cela n'a rien à voir avec le fait que le serveur soit bien occupé avec d'autres connexions. De plus, il ne lui envoie rien, interroge ou autre, c'est purement une condition locale sur la mise en mémoire tampon des données entrantes lors de la récupération des résultats de manière asynchrone.

Malheureusement, l'exemple donné par la documentation de PHP est trompeur. Il appelle pg_connection_busy() Sur une nouvelle connexion sans aucune requête asynchrone en cours d'exécution, ce qui n'a aucun sens.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top