From 3d88f7def67bb0259cc12f58a9c8619d5aaab611 Mon Sep 17 00:00:00 2001 From: Vincent Privat <146961743+vprivat-ads@users.noreply.github.com> Date: Tue, 21 Jan 2025 12:39:42 +0100 Subject: [PATCH] Use started/finished instead of job_start/end_datetime (#1906) --- pygeoapi/api/processes.py | 6 +++--- pygeoapi/process/manager/base.py | 8 ++++---- pygeoapi/templates/jobs/index.html | 6 +++--- pygeoapi/templates/jobs/job.html | 8 ++++---- tests/data/postgres_manager_full_structure.backup.sql | 5 ++--- tests/test_manager.py | 4 ++-- 6 files changed, 18 insertions(+), 19 deletions(-) diff --git a/pygeoapi/api/processes.py b/pygeoapi/api/processes.py index 2ff57005d..9998112bb 100644 --- a/pygeoapi/api/processes.py +++ b/pygeoapi/api/processes.py @@ -283,7 +283,7 @@ def get_jobs(api: API, request: APIRequest, # Here we do sort again in case the provider doesn't support # pagination yet and always returns all jobs. jobs = sorted(jobs_data['jobs'], - key=lambda k: k['job_start_datetime'], + key=lambda k: k['started'], reverse=True) numberMatched = jobs_data['numberMatched'] @@ -319,8 +319,8 @@ def get_jobs(api: API, request: APIRequest, 'message': job_['message'], 'progress': job_['progress'], 'parameters': job_.get('parameters'), - 'job_start_datetime': job_['job_start_datetime'], - 'job_end_datetime': job_['job_end_datetime'] + 'started': job_['started'], + 'finished': job_['finished'] } # TODO: translate diff --git a/pygeoapi/process/manager/base.py b/pygeoapi/process/manager/base.py index df5c41a8c..ef9f6212e 100644 --- a/pygeoapi/process/manager/base.py +++ b/pygeoapi/process/manager/base.py @@ -305,7 +305,7 @@ def _execute_handler_sync(self, p: BaseProcessor, job_id: str, current_status = JobStatus.successful job_update_metadata = { - 'job_end_datetime': datetime.utcnow().strftime( + 'finished': datetime.utcnow().strftime( DATETIME_FORMAT), 'status': current_status.value, 'location': str(job_filename), @@ -336,7 +336,7 @@ def _execute_handler_sync(self, p: BaseProcessor, job_id: str, } LOGGER.exception(err) job_metadata = { - 'job_end_datetime': datetime.utcnow().strftime( + 'finished': datetime.utcnow().strftime( DATETIME_FORMAT), 'status': current_status.value, 'location': None, @@ -432,8 +432,8 @@ def execute_process( 'type': 'process', 'identifier': job_id, 'process_id': process_id, - 'job_start_datetime': datetime.utcnow().strftime(DATETIME_FORMAT), - 'job_end_datetime': None, + 'started': datetime.utcnow().strftime(DATETIME_FORMAT), + 'finished': None, 'status': current_status.value, 'location': None, 'mimetype': 'application/octet-stream', diff --git a/pygeoapi/templates/jobs/index.html b/pygeoapi/templates/jobs/index.html index 1c1903520..5d7743dc1 100644 --- a/pygeoapi/templates/jobs/index.html +++ b/pygeoapi/templates/jobs/index.html @@ -25,12 +25,12 @@ {{ job.jobID }} {{ job.processID }} - {{ job.job_start_datetime|format_datetime }} + {{ job.started|format_datetime }} {% if job.status == 'running' %} - {{ job.job_start_datetime|format_duration(data.now) }} + {{ job.started|format_duration(data.now) }} {% else %} - {{ job.job_start_datetime|format_duration(job.job_end_datetime) }} + {{ job.started|format_duration(job.finished) }} {% endif %} diff --git a/pygeoapi/templates/jobs/job.html b/pygeoapi/templates/jobs/job.html index c49f05c1b..353adab37 100644 --- a/pygeoapi/templates/jobs/job.html +++ b/pygeoapi/templates/jobs/job.html @@ -37,15 +37,15 @@

{% if data['jobs']['status'] == 'running' %} - {{ data['jobs']['job_start_datetime']|format_duration(data.now) }} + {{ data['jobs']['started']|format_duration(data.now) }} {% else %} - {{ data['jobs']['job_start_datetime']|format_duration(data['jobs']['job_end_datetime']) }} + {{ data['jobs']['started']|format_duration(data['jobs']['finished']) }} {% endif %}

-

{{ data['jobs']['job_start_datetime']|format_datetime }}

+

{{ data['jobs']['started']|format_datetime }}

-

{{ data['jobs']['job_end_datetime']|format_datetime }}

+

{{ data['jobs']['finished']|format_datetime }}

{% trans %}Links{% endtrans %}