diff --git a/CHANGELOG.md b/CHANGELOG.md index 3ace9a9..d192b98 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,10 @@ The format is roughly based on [Keep a Changelog](https://keepachangelog.com/en/ +## 0.38.0 + +- Add request timeout configs for listing user jobs (eu-cdse/openeo-cdse-infra#188) + ## 0.37.1 - Better error message when requested collections are spread across separate backends ([#153](https://github.com/Open-EO/openeo-aggregator/issues/153)) diff --git a/src/openeo_aggregator/about.py b/src/openeo_aggregator/about.py index b71dbe1..5287e3d 100644 --- a/src/openeo_aggregator/about.py +++ b/src/openeo_aggregator/about.py @@ -2,7 +2,7 @@ import sys from typing import Optional -__version__ = "0.37.1a1" +__version__ = "0.38.0a1" def log_version_info(logger: Optional[logging.Logger] = None): diff --git a/src/openeo_aggregator/backend.py b/src/openeo_aggregator/backend.py index 75a812a..b568ce3 100644 --- a/src/openeo_aggregator/backend.py +++ b/src/openeo_aggregator/backend.py @@ -748,8 +748,15 @@ def get_user_jobs(self, user_id: str) -> Union[List[BatchJobMetadata], dict]: all_jobs = [] federation_missing = set() + backend_config = get_backend_config() + results = self.backends.request_parallel( - path="/jobs", method="GET", expected_status=[200], authenticated_from_request=flask.request + path="/jobs", + method="GET", + expected_status=[200], + authenticated_from_request=flask.request, + request_timeout=backend_config.request_timeout_list_jobs, + overall_timeout=backend_config.request_timeout_list_jobs_overall, ) for backend_id, result in results.successes.items(): try: diff --git a/src/openeo_aggregator/config/config.py b/src/openeo_aggregator/config/config.py index 926c2aa..c47012f 100644 --- a/src/openeo_aggregator/config/config.py +++ b/src/openeo_aggregator/config/config.py @@ -98,6 +98,9 @@ class AggregatorBackendConfig(OpenEoBackendConfig): job_options_update: Optional[JobOptionsUpdater] = None + request_timeout_list_jobs: float = 10 + request_timeout_list_jobs_overall: float = 20 + # Internal singleton _config_getter = ConfigGetter(expected_class=AggregatorBackendConfig)