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

Jachym Cepicky jachym.cepicky at gmail.com
Mon Apr 25 13:08:43 PDT 2016


Robin,

could you elaborate you usecase little bit more and maybe create ticket for
this? It might be interesting feature. You are right: it never came to my
mind to use something else for process spawning, than pywps itself. I
always used to say: user just has to define the process, the rest is
managed by pywps.

J

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

> I will try it out when I get the opportunity.
>
> What I would like now is to find a clean way to control the "queue" and
> update the status from the outside.
>
> Again, are there any efforts to decouple PyWPS into smaller and more well
> defined modules, so that a PyWPS user isn't highly restricted in how to
> utilize PyWPS for their own use case? This is specifically in relation to
> process execution.
>
> I find that PyWPS does a lot of helpful work, but I have to give up a lot
> to benefit from what PyWPS offers when I don't want to have PyWPS handle
> the spawning of the child processes. The only reason for this is how
> tightly coupled this functionality is with the rest of PyWPS.
>
>
> 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/f2ac5f0409664d11ac51862c3418b70b/0?redirect=http%3A%2F%2Fwww.stcorp.no>
>
> [P]:+47 45 911 694
>
> [E]: info at stcorp.no
>
>> On Apr 25 2016, at 3:33 pm, Jachym Cepicky <jachym.cepicky at gmail.com>
>> wrote:
>> 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/34ac5bb3/attachment.html>


More information about the pywps-dev mailing list