Files
crawlab/core/task/handler/options.go
2024-06-14 15:42:50 +08:00

41 lines
899 B
Go

package handler
import (
"github.com/crawlab-team/crawlab/core/interfaces"
"time"
)
type Option func(svc interfaces.TaskHandlerService)
func WithConfigPath(path string) Option {
return func(svc interfaces.TaskHandlerService) {
svc.SetConfigPath(path)
}
}
func WithExitWatchDuration(duration time.Duration) Option {
return func(svc interfaces.TaskHandlerService) {
svc.SetExitWatchDuration(duration)
}
}
func WithReportInterval(interval time.Duration) Option {
return func(svc interfaces.TaskHandlerService) {
svc.SetReportInterval(interval)
}
}
func WithCancelTimeout(timeout time.Duration) Option {
return func(svc interfaces.TaskHandlerService) {
svc.SetCancelTimeout(timeout)
}
}
type RunnerOption func(r interfaces.TaskRunner)
func WithSubscribeTimeout(timeout time.Duration) RunnerOption {
return func(r interfaces.TaskRunner) {
r.SetSubscribeTimeout(timeout)
}
}