Request error cannot be properly reported
gamesbook opened this issue · 0 comments
gamesbook commented
Description
My current pyWPS is unable to start up (obviously I need to fix that...) but the error handling/reporting is seemingly failing.
I inserted an extra LOGGER in this fragment of code from the call
method in app/Service.py
:
try:
response = None
if wps_request.operation == 'getcapabilities':
response = self.get_capabilities(wps_request, request_u$
response._update_status(WPS_STATUS.SUCCEEDED, u'', 100)
elif wps_request.operation == 'describeprocess':
response = self.describe(wps_request, request_uuid, wps$
response._update_status(WPS_STATUS.SUCCEEDED, u'', 100)
elif wps_request.operation == 'execute':
response = self.execute(
wps_request.identifier,
wps_request,
request_uuid
)
return response
except Exception as e:
LOGGER.exception(e)
and now have the following stack trace:
[2019-03-27 07:36:49,813] ERROR [exceptions.py:45] Exception: code: 500, locator: No applicable error code, please check error log., description:
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/pywps-4.0.0-py2.7.egg/pywps/app/Service.py", line 332, in call
store_status(request_uuid, WPS_STATUS.FAILED, u'Request rejected due to exception', 100)
TypeError: can't pickle thread.lock objects
It seems there needs to be an improvement to the way that store_status works?
Environment
- operating system:
- Python version: 2.7
- PyWPS version: 4.0.0
- source/distribution
- git clone
- Debian
- PyPI
- zip/tar.gz
- other (please specify):
- web server
- Apache/mod_wsgi
- CGI
- nGinx
Steps to Reproduce
Unable to provide code.