Pergunta

Ao enviar a solicitação de status pg_connection_busy (), a solicitação discrimina entre "conexão ocupada" e "servidor ocupado"?

Em outras palavras, um servidor possui 100 conexões permitidas, com uma delas aplicada ao script atual. Todas as 100 conexões enviam simultaneamente uma consulta, com 99 delas exigindo mais de 2 segundos de tempo de processamento (teoricamente colocando o servidor em um estado máximo de saída, tornando -o "ocupado"). Um desses 100 pedidos foi um pg_server_busy() solicitar. A resposta seria True ou False?

Foi útil?

Solução

pg_connection_busy() Basicamente chama Libpq's PQconsumeInput() Seguido por PQisBusy(), ambos estão documentados emProcessamento de comando assíncrono.

Isso não tem nada a ver com o servidor ocupado em geral com outras conexões. Além disso, ele não envia nada a ele, consulta ou não, é puramente uma condição local sobre o buffer dos dados recebidos ao recuperar resultados de forma assíncrona.

Infelizmente, o exemplo dado pela documentação do PHP é enganoso. Liga pg_connection_busy() Em uma nova conexão sem qualquer consulta assíncrona em execução, o que não faz nenhum sentido.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top