Domanda

Quando si invia la richiesta di stato pg_connection_busy (), la richiesta discrimina tra "connessione occupata" e "server occupato"?

In altre parole, un server ha 100 connessioni consentite, con una di esse applicata allo script corrente. Tutte le 100 connessioni inviano contemporaneamente una query, con 99 di essi che richiedono 2+ secondi di tempo di elaborazione, (teoricamente mettendo il server in uno stato massimo, rendendolo così "occupato"). Una di queste 100 richieste era un pg_server_busy() richiesta. Sarebbe la risposta True o False?

È stato utile?

Soluzione

pg_connection_busy() Fondamentalmente chiama libpq PQconsumeInput() seguito da PQisBusy(), entrambi sono documentati inElaborazione dei comandi asincrona.

Questo non ha nulla a che fare con il server che è occupato nel complesso con altre connessioni. Inoltre, non ci invia nulla, interroga o meno, è puramente una condizione locale per il buffering dei dati in arrivo quando si recano risultati in modo asincrono.

Sfortunatamente l'esempio fornito dalla documentazione di PHP è fuorviante. Chiama pg_connection_busy() Su una nuova connessione senza alcuna query asincrona, il che non ha alcun senso.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top