From 4c34f45efab28e139199226166cd8bdeb035add6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Gschwind?= Date: Wed, 7 Feb 2024 11:14:58 +0100 Subject: [PATCH] Add option to keep old status file --- default-sample.cfg | 3 +++ pywps/app/Process.py | 3 ++- pywps/app/WPSExecuteResponse.py | 10 +++++----- pywps/configuration.py | 1 + 4 files changed, 11 insertions(+), 6 deletions(-) diff --git a/default-sample.cfg b/default-sample.cfg index 19908d040..3f04b3a7a 100644 --- a/default-sample.cfg +++ b/default-sample.cfg @@ -61,6 +61,9 @@ maxprocesses=30 parallelprocesses=2 storagetype=file +# Keep old status file for backward compatibility, pywps does not need it. +keep_status_file=false + # hardcoded default : tempfile.gettempdir() #temp_path=/tmp diff --git a/pywps/app/Process.py b/pywps/app/Process.py index 9cb67ce70..a1051133f 100644 --- a/pywps/app/Process.py +++ b/pywps/app/Process.py @@ -128,7 +128,8 @@ def from_json(cls, value): def execute(self, wps_request, uuid): self._set_uuid(uuid) - self._setup_status_storage() + if config.get_config_value('server', 'keep_status_file'): + self._setup_status_storage() self.async_ = False wps_response = WPSExecuteResponse(self, wps_request, self.uuid) diff --git a/pywps/app/WPSExecuteResponse.py b/pywps/app/WPSExecuteResponse.py index c7ed7e7a2..5c44552d0 100644 --- a/pywps/app/WPSExecuteResponse.py +++ b/pywps/app/WPSExecuteResponse.py @@ -122,9 +122,10 @@ def _update_status(self, status, message, status_percentage, clean=True): self.wps_request.preprocess_response = None LOGGER.debug("_update_status: status={}, clean={}".format(status, clean)) - self._update_status_doc() - if self.store_status_file: - self._update_status_file() + if config.get_config_value('server', 'keep_status_file'): + self._update_status_doc() + if self.store_status_file: + self._update_status_file() if clean: if self.status == WPS_STATUS.SUCCEEDED or self.status == WPS_STATUS.FAILED: LOGGER.debug("clean workdir: status={}".format(status)) @@ -232,8 +233,7 @@ def as_json_for_execute_template(self): } if self.store_status_file: - if self.process.status_location: - data["status_location"] = self.process.status_url + data["status_location"] = self.process.status_url if self.status == WPS_STATUS.ACCEPTED: self.message = 'PyWPS Process {} accepted'.format(self.process.identifier) diff --git a/pywps/configuration.py b/pywps/configuration.py index ec77e30be..b3ff8ecfe 100755 --- a/pywps/configuration.py +++ b/pywps/configuration.py @@ -118,6 +118,7 @@ def load_hardcoded_configuration(): CONFIG.set('server', 'storage_copy_function', 'copy') CONFIG.set("server", "default_mimetype", "text/xml") CONFIG.set("server", "json_indent", "2") + CONFIG.set("server", "keep_status_file", "false") CONFIG.add_section('processing') CONFIG.set('processing', 'mode', 'default')