@@ -168,24 +168,29 @@ func createPollRetryPolicy() backoff.RetryPolicy {
168168func newBaseWorker (options baseWorkerOptions , logger * zap.Logger , metricsScope tally.Scope , sessionTokenBucket * sessionTokenBucket ) * baseWorker {
169169 ctx , cancel := context .WithCancel (context .Background ())
170170
171+ dynamic := & worker.DynamicParams {
172+ PollerPermit : worker .NewPermit (options .pollerCount ),
173+ TaskPermit : worker .NewPermit (options .maxConcurrentTask ),
174+ }
175+
171176 var pollerAS * pollerAutoScaler
172177 if pollerOptions := options .pollerAutoScaler ; pollerOptions .Enabled {
178+ dynamic .PollerPermit = worker .NewPermit (pollerOptions .InitCount )
173179 pollerAS = newPollerScaler (
174180 pollerOptions ,
175181 logger ,
182+ dynamic .PollerPermit ,
176183 )
177184 }
178185
179186 bw := & baseWorker {
180- options : options ,
181- shutdownCh : make (chan struct {}),
182- taskLimiter : rate .NewLimiter (rate .Limit (options .maxTaskPerSecond ), 1 ),
183- retrier : backoff .NewConcurrentRetrier (pollOperationRetryPolicy ),
184- logger : logger .With (zapcore.Field {Key : tagWorkerType , Type : zapcore .StringType , String : options .workerType }),
185- metricsScope : tagScope (metricsScope , tagWorkerType , options .workerType ),
186- dynamic : & worker.DynamicParams {
187- TaskPermit : worker .NewPermit (options .maxConcurrentTask ),
188- },
187+ options : options ,
188+ shutdownCh : make (chan struct {}),
189+ taskLimiter : rate .NewLimiter (rate .Limit (options .maxTaskPerSecond ), 1 ),
190+ retrier : backoff .NewConcurrentRetrier (pollOperationRetryPolicy ),
191+ logger : logger .With (zapcore.Field {Key : tagWorkerType , Type : zapcore .StringType , String : options .workerType }),
192+ metricsScope : tagScope (metricsScope , tagWorkerType , options .workerType ),
193+ dynamic : dynamic ,
189194 pollerAutoScaler : pollerAS ,
190195 taskQueueCh : make (chan interface {}), // no buffer, so poller only able to poll new task after previous is dispatched.
191196 limiterContext : ctx ,
0 commit comments