Connection closed
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 25/100
Piste de recherche
Commencez par reproduire les requêtes concurrentes via Workerman\Http\Client::post avec les paramètres timeout et max_conn_per_addr indiqués, en comparant les soumissions séquentielles et rapides. Vérifiez la configuration à worker unique et la comparaison avec curl_multi décrites dans l’issue. La tâche est terminée lorsque la cause du résultat "Connection closed" est identifiée et que le comportement attendu pour les requêtes concurrentes est confirmé.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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.
- Langage dominant
- PHP
- Étoiles
- 55
- Forks
- 19
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de workerman-php/http-client
-
Difficulté 3/5 1-2 jours Accessibilité débutants 52/100
workerman-php/http-client#48 ·
-
Difficulté 4/5 3-5 jours Accessibilité débutants 35/100
workerman-php/http-client#39 ·
-
TLS 1.3 Ouverte
Difficulté 4/5 3-5 jours Accessibilité débutants 35/100
workerman-php/http-client#32 ·
-
希望可以添加自动Cookies 管理功能 Ouverte
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 20/100
workerman-php/http-client#23 ·
-
如何忽略SSL 错误 Ouverte
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
workerman-php/http-client#18 · 1 commentaire ·
Toutes les issues de workerman-php/http-client
Issues similaires
-
Bug
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
Automattic/safe-publish#594 ·
-
needs-triage Platform(Default)
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
-
HttpClient
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
symfony/symfony-docs#23092 ·
-
sync-en
Difficulté 1/5 Moins d'une heure Accessibilité débutants 90/100
-
sync-en
Difficulté 1/5 Moins d'une heure Accessibilité débutants 95/100