Frage

Wenn die Statusanforderung pg_connection_busy () sendet, diskriminiert die Anfrage zwischen "Verbindung beschäftigt" und "Serverbeschäftigung"?

Mit anderen Worten, ein Server hat 100 zulässige Verbindungen, wobei einer auf das aktuelle Skript angewendet wird. Alle 100 Verbindungen senden gleichzeitig eine Abfrage, von denen 99 2+ Sekunden Verarbeitungszeit erfordern (theoretisch in einen maximalen Status in einen Maxed -Status, was ihn "beschäftigt" macht). Eine dieser 100 Anfragen war a pg_server_busy() Anfrage. Wäre die Antwort sein True oder False?

War es hilfreich?

Lösung

pg_connection_busy() Im Grunde genommen ruft Libpqs auf PQconsumeInput() gefolgt von PQisBusy(), beide sind in dokumentiert inAsynchrone Befehlsverarbeitung.

Dies hat nichts damit zu tun, dass der Server mit anderen Verbindungen insgesamt beschäftigt ist. Außerdem sendet es nichts daran, abfragen oder auf andere Weise. Es ist nur eine lokale Bedingung über die Pufferung der eingehenden Daten beim Abrufen von Ergebnissen asynchron.

Leider ist das Beispiel durch die Dokumentation von PHP irreführend. Es ruft pg_connection_busy() Auf einer neuen Verbindung ohne asynchrone Abfrage, die keinen Sinn ergibt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top