[Pywps-dev] PyWPS support for ExecuteResponseLocation, providing process status

Jachym Cepicky jachym.cepicky at gmail.com
Mon Apr 25 06:33:33 PDT 2016


Hi,

hmm, seems to be related. Could you please try your process with the
65_maxoperations branch? Things a slightly different there. Otherwise, I'll
install nginx and give it a try (I use Apache by default, but nginx seems
to be very popular nowadays)

Thank you!

J

po 25. 4. 2016 v 12:15 odesílatel Robin Skahjem-Eriksen <
skahjem-eriksen at stcorp.no> napsal:

> Thank you Jonas. I managed to derive this information myself before the
> weekend, so the xml files are being served with nginx, just need to set the
> MIME type and it should work as expected.
>
> However, I believe there is a bug in the pywps code and I can submit an
> issue at Github if everyone agrees.
>
> When I run in sync mode, my own application that performs the processing
> runs fine. As soon as I try in pywps' async mode, I get a cryptic error at
> the line in _handler that does:`subprocess.call(cli_string)`. I do this
> because I have my own framework for handling asynchronous processes which
> is executed as a child process. The error is as follows:
>
> Traceback (most recent call last):
>  File "/usr/local/lib/python2.7/runpy.py", line 151, in
> _run_module_as_main mod_name, loader, code, fname =
> _get_module_details(mod_name)
> File "/usr/local/lib/python2.7/runpy.py", line 101, in _get_module_details
> loader = get_loader(mod_name)
> File "/usr/local/lib/python2.7/pkgutil.py", line 464, in get_loader return
> find_loader(fullname)
> File "/usr/local/lib/python2.7/pkgutil.py", line 475, in find_loader
> loader = importer.find_module(fullname)
> File "/usr/local/lib/python2.7/pkgutil.py", line 184, in find_module path
> = [os.path.realpath(self.path)]
> File "/usr/local/lib/python2.7/posixpath.py", line 376, in realpath return
> abspath(path)
> File "/usr/local/lib/python2.7/posixpath.py", line 364, in abspath cwd =
> os.getcwd()
> OSError: [Errno 2] No such file or directory
>
> I worked around the problem by adding my own execute method which simply
> calls cls.run_process(request, response) as in synchronous mode. I just
> removed all the async functionality in the method.
>
> I don't know what the thoughts are on the strong coupling to
> multiprocessing from the devs. Is pywps meant to be used without having to
> rely on the built-in asynchronous process handling?
>
> I also came accross this SO post, though:
>
>
> http://stackoverflow.com/questions/29702157/python-multiprocessing-manager-list-error-errno-2-no-such-file-or-directory
>
> Have you given any thought to the ideas the answer is addressing?
>
>
> Med vennlig hilsen / With kind regards,
>
> Robin Skahjem-Eriksen
>
> Software developer
>
> Science [&] Technology AS
>
> Reg. nr.: 996 229 009 MVA
>
> [E]: skahjem-eriksen at stcorp.no
>
> [Address]:
>
> Forskningsparken
>
> Gaustadalléen 21
>
> 0349 Oslo
>
> Norway
>
> [W]: http://www.stcorp.no
> <https://link.nylas.com/link/6v07k8n8hjy9q0ymu0dlgp2id/047ac57a056a4cac9f5850de210bbf7f/0?redirect=http%3A%2F%2Fwww.stcorp.no>
>
> [P]:+47 45 911 694
>
> [E]: info at stcorp.no
>
>> On Apr 25 2016, at 10:44 am, Jonas Eberle <jonas.eberle at gmx.de> wrote:
>> Thanks, now I understand your issue. I was a bit confused because you
>> mentioned the getCapabilities URL related to the ExceptionReport. The URL
>> of the statusLocation (like
>> http://localhost/wps/3c7e38b6-06e0-11e6-8f17-0242ac190008.xml in your
>> example) should not be handled by PyWPS at all. Could you define an other
>> folder for the output files that is not related to /wps at all in your
>> configuration file? Otherwise it would be useful to see your PyWPS config
>> file and the config snippets from the webserver you are using.
>>
>> Cheers,
>> Jonas
>>
>> ----- Am 21. Apr 2016 um 17:33 schrieb Robin Skahjem-Eriksen <
>> skahjem-eriksen at stcorp.no>:
>>
>> Thank you for suggesting a clarification of where we are.
>>
>> You are completely correct, except for the last part:
>>
>> > "If you go afterwards to the URL mentioned in the statusLocation
>> attribute you should see the process running, failed or succeeded."
>>
>> This is what I was hoping for, but the problem is that I am getting an
>> inexplicable exception:
>>
>> <!-- PyWPS 4.0.0-alpha2 -->
>>
>> <ows:ExceptionReport xsi:schemaLocation="http://www.opengis.net/ows/1.1
>> http://schemas.opengis.net/ows/1.1.0/owsExceptionReport.xsd"
>> version="1.0.0">
>>  <ows:Exception exceptionCode="MissingParameterValue" locator="service">
>>    <ows:ExceptionText>service
>>    </ows:ExceptionText>
>>  </ows:Exception>
>> </ows:ExceptionReport>
>>
>> It looks like the request for the statusLocation URL is handled like a
>> standard WPS request and not a simple static file request.
>>
>>
>> _______________________________________________
> pywps-dev mailing list
> pywps-dev at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/pywps-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/pywps-dev/attachments/20160425/baeddaf4/attachment-0001.html>


More information about the pywps-dev mailing list