worker/server: make worker timeout configurable
This commit is contained in:
parent
161a15196f
commit
0b277937dd
3 changed files with 20 additions and 12 deletions
|
|
@ -60,6 +60,7 @@ func NewComposer(config *ComposerConfigFile, stateDir, cacheDir string) (*Compos
|
|||
BasePath: config.Worker.BasePath,
|
||||
JWTEnabled: config.Worker.EnableJWT,
|
||||
TenantProviderFields: config.Worker.JWTTenantProviderFields,
|
||||
WorkerWatchFreq: time.Minute * 5,
|
||||
}
|
||||
|
||||
var err error
|
||||
|
|
@ -121,6 +122,10 @@ func NewComposer(config *ComposerConfigFile, stateDir, cacheDir string) (*Compos
|
|||
if err != nil {
|
||||
return nil, fmt.Errorf("Unable to parse request job timeout: %v", err)
|
||||
}
|
||||
workerConfig.WorkerTimeout, err = time.ParseDuration(config.Worker.WorkerHeartbeatTimeout)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("Unable to parse request worker heartbeat timeout: %v", err)
|
||||
}
|
||||
|
||||
c.workers = worker.NewServer(c.logger, jobs, workerConfig)
|
||||
|
||||
|
|
|
|||
|
|
@ -57,6 +57,7 @@ type WorkerAPIConfig struct {
|
|||
JWTKeysCA string `toml:"jwt_ca_file"`
|
||||
JWTACLFile string `toml:"jwt_acl_file"`
|
||||
JWTTenantProviderFields []string `toml:"jwt_tenant_provider_fields"`
|
||||
WorkerHeartbeatTimeout string `toml:"worker_heartbeat_timeout"`
|
||||
}
|
||||
|
||||
type WeldrAPIConfig struct {
|
||||
|
|
@ -93,12 +94,13 @@ func GetDefaultConfig() *ComposerConfigFile {
|
|||
EnableJWT: false,
|
||||
},
|
||||
Worker: WorkerAPIConfig{
|
||||
RequestJobTimeout: "0",
|
||||
BasePath: "/api/worker/v1",
|
||||
EnableArtifacts: true,
|
||||
EnableTLS: true,
|
||||
EnableMTLS: true,
|
||||
EnableJWT: false,
|
||||
RequestJobTimeout: "0",
|
||||
BasePath: "/api/worker/v1",
|
||||
EnableArtifacts: true,
|
||||
EnableTLS: true,
|
||||
EnableMTLS: true,
|
||||
EnableJWT: false,
|
||||
WorkerHeartbeatTimeout: "1h",
|
||||
},
|
||||
WeldrAPI: WeldrAPIConfig{
|
||||
map[string]WeldrDistroConfig{
|
||||
|
|
|
|||
|
|
@ -37,12 +37,13 @@ func TestDefaultConfig(t *testing.T) {
|
|||
}, defaultConfig.Koji)
|
||||
|
||||
require.Equal(t, WorkerAPIConfig{
|
||||
RequestJobTimeout: "0",
|
||||
BasePath: "/api/worker/v1",
|
||||
EnableArtifacts: true,
|
||||
EnableTLS: true,
|
||||
EnableMTLS: true,
|
||||
EnableJWT: false,
|
||||
RequestJobTimeout: "0",
|
||||
BasePath: "/api/worker/v1",
|
||||
EnableArtifacts: true,
|
||||
EnableTLS: true,
|
||||
EnableMTLS: true,
|
||||
EnableJWT: false,
|
||||
WorkerHeartbeatTimeout: "1h",
|
||||
}, defaultConfig.Worker)
|
||||
|
||||
expectedWeldrAPIConfig := WeldrAPIConfig{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue