Connection closed
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 25/100
Direção de pesquisa
Comece reproduzindo as requisições concorrentes por meio de Workerman\Http\Client::post com as configurações de timeout e max_conn_per_addr mostradas, comparando os envios sequenciais e rápidos. Verifique a configuração com um único worker e a comparação com curl_multi descritas na issue. A tarefa estará concluída quando a causa do resultado "Connection closed" for identificada e o comportamento esperado para requisições concorrentes for confirmado.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
I decided use http client in my worker.
Server part works on workerman Worker with one thread ( $worker->count = 1; ) Business logic requires it.
Part of http client here :
$http = new Workerman\Http\Client(
['max_conn_per_addr' => 128,
'keepalive_timeout' => 15,
'connect_timeout' => 30,
'timeout' => 30,
]);
$t=microtime(1);
$http->post('http://127.0.0.1:8080', ['command'=>'ping'],
function ($response) { echo "ok\n"; },
function ($exception) use($t){ echo ' exception ['.substr($exception,0,57).']</b> diff:'.(microtime(1)-$t).s"\n"; }
);
So, when i post queries sequentially all work fine and quick. But if i send multiple quries - http client very quickly (0.1sec) recieve exception "Connection closed". I was expect that it will wait answer from server up to 30 seconds, but not.
If I use another asynchronous method of client operation via curl_multi I don’t observe such server behavior.
May be i need some tune of psr7 ? Or do you have any smart thoughts on this topic?
Thank you for your product and attention to it.
- Linguagem predominante
- PHP
- Estrelas
- 55
- Forks
- 20
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Preparar o ambiente
Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de workerman-php/http-client
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 52/100
workerman-php/http-client#48 ·
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 35/100
workerman-php/http-client#39 ·
-
TLS 1.3Aberta
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 35/100
workerman-php/http-client#32 ·
-
希望可以添加自动Cookies 管理功能Aberta
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 20/100
workerman-php/http-client#23 ·
-
如何忽略SSL 错误Aberta
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 25/100
workerman-php/http-client#18 · 1 comentário ·
Todas as issues de workerman-php/http-client
Issues semelhantes
-
needs-triage Platform(Default)
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
Mantenedores costumam responder em até 1 dia
-
Feature-Request
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
RSS-Bridge/rss-bridge#5123 ·
Mantenedores costumam responder em até 1 dia
-
[Store] RstLoader detects headings inside indented code blocksTalvez já em andamento @lazerg assumiu hoje. AbertaBug Status: Needs Review Store
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
Mantenedores costumam responder em até 1 dia
-
bug repo:ckeditor
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
-
No Code Attached Yet
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
joomla/joomla-cms#48611 ·
Mantenedores costumam responder em até 1 dia