fix: size script HTTP client connection pool to worker count

This commit is contained in:
aykhans committed 2026-09-22 19:29:51 +04:00
1 parent a60287b78b
commit 00226b0eb7
2 files changed
+7 -6

No files matched your search

+1 -1
View File
@@ -274,7 +274,7 @@ func NewSarin(
var scriptHTTPClients []*scriptHTTPClient
if !scriptChain.IsEmpty() {
scriptHTTPClients, err = newScriptHTTPClients(ctx, proxyURLs)
scriptHTTPClients, err = newScriptHTTPClients(ctx, proxyURLs, workers)
if err != nil {
return nil, err
}
+6 -5
View File
@@ -26,9 +26,9 @@ var _ script.HTTPDoer = (*scriptHTTPClient)(nil)
// newScriptHTTPClients creates one client per proxy, in the same order as NewHostClients.
// It can return the following errors:
// - types.ProxyDialError
func newScriptHTTPClients(ctx context.Context, proxies []url.URL) ([]*scriptHTTPClient, error) {
func newScriptHTTPClients(ctx context.Context, proxies []url.URL, maxConns uint) ([]*scriptHTTPClient, error) {
if len(proxies) == 0 {
return []*scriptHTTPClient{newScriptHTTPClient(nil, scriptHTTPDefaultTimeout)}, nil
return []*scriptHTTPClient{newScriptHTTPClient(nil, scriptHTTPDefaultTimeout, maxConns)}, nil
}
clients := make([]*scriptHTTPClient, 0, len(proxies))
@@ -37,15 +37,16 @@ func newScriptHTTPClients(ctx context.Context, proxies []url.URL) ([]*scriptHTTP
if err != nil {
return nil, types.NewProxyDialError(proxy.String(), err)
}
clients = append(clients, newScriptHTTPClient(dialFunc, scriptHTTPDefaultTimeout))
clients = append(clients, newScriptHTTPClient(dialFunc, scriptHTTPDefaultTimeout, maxConns))
}
return clients, nil
}
func newScriptHTTPClient(dialFunc fasthttp.DialFunc, defaultTimeout time.Duration) *scriptHTTPClient {
func newScriptHTTPClient(dialFunc fasthttp.DialFunc, defaultTimeout time.Duration, maxConns uint) *scriptHTTPClient {
newClient := func(insecure bool) *fasthttp.Client {
return &fasthttp.Client{
Dial: dialFunc,
Dial: dialFunc,
MaxConnsPerHost: safeUintToInt(maxConns),
TLSConfig: &tls.Config{
InsecureSkipVerify: insecure, //nolint:gosec
},