TwistedMatrix Python フレームワークを使用して HTTPConnectionPool を作成する次のコードと、HTTP 要求のエージェントがあります。
self.pool = HTTPConnectionPool(reactor, persistent=True)
self.pool.retryAutomatically = False
self.pool.maxPersistentPerHost = 1
self.agent = Agent(reactor, pool=self.pool)
次に、ローカル サーバーに接続するためのリクエストを作成します。
d = self.agent.request(
"GET",
url,
Headers({"Host": ["localhost:8333"]}),
None)
問題は、複数の同時リクエストが行われるとローカル サーバーが正しく動作しない場合があるため、同時リクエストの数を 1 つに制限したいということです。
追加のリクエストは、保留中のリクエストが完了するまでキューに入れておく必要があります。
で試しましself.pool.maxPersistentPerHost = 1
たが、うまくいきません。
twisted.web.client.Agent と HTTPConnectionPool は、ホストごとの最大接続数の制限をサポートしていますか? それとも、リクエスト FIFO キューを自分で実装する必要がありますか?