mirror of
https://github.com/goharbor/harbor
synced 2025-04-13 16:53:43 +00:00
Add config max_job_duration_hours for jobservice (#21390)
Signed-off-by: stonezdj <stone.zhang@broadcom.com>
This commit is contained in:
parent
8bf710a405
commit
8ca455eb76
|
@ -135,6 +135,8 @@ trivy:
|
|||
jobservice:
|
||||
# Maximum number of job workers in job service
|
||||
max_job_workers: 10
|
||||
# Maximum hours of task duration in job service, default 24
|
||||
max_job_duration_hours: 24
|
||||
# The jobLoggers backend name, only support "STD_OUTPUT", "FILE" and/or "DB"
|
||||
job_loggers:
|
||||
- STD_OUTPUT
|
||||
|
|
|
@ -67,7 +67,7 @@ metric:
|
|||
|
||||
reaper:
|
||||
# the max time to wait for a task to finish, if unfinished after max_update_hours, the task will be mark as error, but the task will continue to run, default value is 24,
|
||||
max_update_hours: 24
|
||||
max_update_hours: {{ max_job_duration_hours }}
|
||||
# the max time for execution in running state without new task created
|
||||
max_dangling_hours: 168
|
||||
|
||||
|
|
|
@ -21,6 +21,7 @@ HTTPS_PROXY={{jobservice_https_proxy}}
|
|||
NO_PROXY={{jobservice_no_proxy}}
|
||||
REGISTRY_CREDENTIAL_USERNAME={{registry_username}}
|
||||
REGISTRY_CREDENTIAL_PASSWORD={{registry_password}}
|
||||
MAX_JOB_DURATION_SECONDS={{max_job_duration_seconds}}
|
||||
|
||||
{% if metric.enabled %}
|
||||
METRIC_NAMESPACE=harbor
|
||||
|
|
|
@ -222,6 +222,11 @@ def parse_yaml_config(config_file_path, with_trivy):
|
|||
# jobservice config
|
||||
js_config = configs.get('jobservice') or {}
|
||||
config_dict['max_job_workers'] = js_config["max_job_workers"]
|
||||
config_dict['max_job_duration_hours'] = js_config["max_job_duration_hours"] or 24
|
||||
value = config_dict["max_job_duration_hours"]
|
||||
if not isinstance(value, int) or value < 24:
|
||||
config_dict["max_job_duration_hours"] = 24
|
||||
config_dict['max_job_duration_seconds'] = config_dict['max_job_duration_hours'] * 3600
|
||||
config_dict['job_loggers'] = js_config["job_loggers"]
|
||||
config_dict['logger_sweeper_duration'] = js_config["logger_sweeper_duration"]
|
||||
config_dict['jobservice_secret'] = generate_random_string(16)
|
||||
|
|
|
@ -33,6 +33,8 @@ def prepare_job_service(config_dict):
|
|||
gid=DEFAULT_GID,
|
||||
internal_tls=config_dict['internal_tls'],
|
||||
max_job_workers=config_dict['max_job_workers'],
|
||||
max_job_duration_hours=config_dict['max_job_duration_hours'],
|
||||
max_job_duration_seconds=config_dict['max_job_duration_seconds'],
|
||||
job_loggers=config_dict['job_loggers'],
|
||||
logger_sweeper_duration=config_dict['logger_sweeper_duration'],
|
||||
redis_url=config_dict['redis_url_js'],
|
||||
|
|
Loading…
Reference in New Issue
Block a user