Skip to content

Commit 0a31ba6

Browse files
committed
add SetDefaultWorkerPoolSettings()
1 parent 4b11ece commit 0a31ba6

File tree

1 file changed

+13
-6
lines changed

1 file changed

+13
-6
lines changed

worker/pool.go

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@ type WorkerPool interface {
3232
ScheduleWithTimeout(func(), time.Duration) error
3333
}
3434

35-
// DefaultWorkerSettings Settings for DefaultWorkerPool
36-
type DefaultWorkerSettings struct {
35+
// DefaultWorkerPoolSettings Settings for DefaultWorkerPool
36+
type DefaultWorkerPoolSettings struct {
3737
// JobQueue
3838

3939
isJobQueueClosedWhenClose bool
@@ -57,7 +57,7 @@ var defaultPanicHandler = func(panic interface{}) {
5757
log.Printf("panic from worker: %s\n", string(buf[:runtime.Stack(buf, false)]))
5858
}
5959

60-
var defaultDefaultWorkerSettings = &DefaultWorkerSettings{
60+
var defaultDefaultWorkerSettings = &DefaultWorkerPoolSettings{
6161
isJobQueueClosedWhenClose: true,
6262
workerBatchSize: 5,
6363
workerSizeStandBy: 5,
@@ -79,11 +79,11 @@ type DefaultWorkerPool struct {
7979
lastAccessTime time.Time
8080

8181
// Settings
82-
DefaultWorkerSettings
82+
DefaultWorkerPoolSettings
8383
}
8484

8585
// NewDefaultWorkerPool New a DefaultWorkerPool
86-
func NewDefaultWorkerPool(jobQueue *fpgo.BufferedChannelQueue[func()], settings *DefaultWorkerSettings) *DefaultWorkerPool {
86+
func NewDefaultWorkerPool(jobQueue *fpgo.BufferedChannelQueue[func()], settings *DefaultWorkerPoolSettings) *DefaultWorkerPool {
8787
if settings == nil {
8888
settings = defaultDefaultWorkerSettings
8989
}
@@ -93,7 +93,7 @@ func NewDefaultWorkerPool(jobQueue *fpgo.BufferedChannelQueue[func()], settings
9393
spawnWorkerCh: fpgo.NewChannelQueue[int](1),
9494

9595
// Settings
96-
DefaultWorkerSettings: *settings,
96+
DefaultWorkerPoolSettings: *settings,
9797
}
9898
go workerPool.spawnLoop()
9999

@@ -263,6 +263,13 @@ func (workerPoolSelf *DefaultWorkerPool) SetWorkerExpiryDuration(workerExpiryDur
263263
return workerPoolSelf
264264
}
265265

266+
// SetDefaultWorkerPoolSettings Set the defaultWorkerPoolSettings
267+
func (workerPoolSelf *DefaultWorkerPool) SetDefaultWorkerPoolSettings(defaultWorkerPoolSettings DefaultWorkerPoolSettings) *DefaultWorkerPool {
268+
workerPoolSelf.DefaultWorkerPoolSettings = defaultWorkerPoolSettings
269+
workerPoolSelf.notifyWorkers()
270+
return workerPoolSelf
271+
}
272+
266273
// IsClosed Is the DefaultWorkerPool closed
267274
func (workerPoolSelf *DefaultWorkerPool) IsClosed() bool {
268275
return workerPoolSelf.isClosed.Get()

0 commit comments

Comments
 (0)