diff --git a/default-sample.cfg b/default-sample.cfg index 19908d04..3f04b3a7 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 9cb67ce7..a1051133 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 c7ed7e7a..5c44552d 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 ec77e30b..b3ff8ecf 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')