feat: expose concurrency policy to kubernetes jobs
This commit is contained in:
@@ -299,12 +299,21 @@ const (
|
||||
)
|
||||
|
||||
type ProcessCron struct {
|
||||
ID string `yaml:"id"`
|
||||
Schedule string `yaml:"schedule"`
|
||||
Suffix string `yaml:"suffix"`
|
||||
Suspend bool `yaml:"suspend"`
|
||||
ID string `yaml:"id"`
|
||||
Schedule string `yaml:"schedule"`
|
||||
Suffix string `yaml:"suffix"`
|
||||
Suspend bool `yaml:"suspend"`
|
||||
ConcurrencyPolicy ProcessCronConcurrencyPolicy `yaml:"concurrency_policy"`
|
||||
}
|
||||
|
||||
type ProcessCronConcurrencyPolicy string
|
||||
|
||||
const (
|
||||
ProcessCronConcurrencyPolicy_Allow ProcessCronConcurrencyPolicy = "Allow"
|
||||
ProcessCronConcurrencyPolicy_Forbid ProcessCronConcurrencyPolicy = "Forbid"
|
||||
ProcessCronConcurrencyPolicy_Replace ProcessCronConcurrencyPolicy = "Replace"
|
||||
)
|
||||
|
||||
type ProcessPortMap struct {
|
||||
ContainerPort int32 `yaml:"container_port"`
|
||||
HostPort int32 `yaml:"host_port"`
|
||||
|
||||
@@ -26,7 +26,7 @@ metadata:
|
||||
name: {{ $.Values.global.app_name }}-cron-{{ $config.cron.suffix }}
|
||||
namespace: {{ $.Values.global.namespace }}
|
||||
spec:
|
||||
concurrencyPolicy: Allow
|
||||
concurrencyPolicy: {{ $config.cron.concurrency_policy }}
|
||||
failedJobsHistoryLimit: 10
|
||||
jobTemplate:
|
||||
metadata:
|
||||
|
||||
@@ -699,14 +699,16 @@ func TriggerSchedulerDeploy(scheduler string, appName string, imageTag string) e
|
||||
return fmt.Errorf("Error getting process labels: %w", err)
|
||||
}
|
||||
|
||||
concurrencyPolicy := strings.ToUpper(cronTask.ConcurrencyPolicy)
|
||||
processValues := ProcessValues{
|
||||
Args: words,
|
||||
Annotations: annotations,
|
||||
Cron: ProcessCron{
|
||||
ID: cronTask.ID,
|
||||
Schedule: cronTask.Schedule,
|
||||
Suffix: suffix,
|
||||
Suspend: cronTask.Maintenance,
|
||||
ID: cronTask.ID,
|
||||
Schedule: cronTask.Schedule,
|
||||
Suffix: suffix,
|
||||
Suspend: cronTask.Maintenance,
|
||||
ConcurrencyPolicy: ProcessCronConcurrencyPolicy(concurrencyPolicy),
|
||||
},
|
||||
Labels: labels,
|
||||
ProcessType: ProcessType_Cron,
|
||||
|
||||
Reference in New Issue
Block a user