[PyWPS-dev] running in production on windows - funding proposal

Jachym Cepicky jachym.cepicky at gmail.com
Mon Jul 6 00:20:48 PDT 2020


Hi Idan,

this is the first time, some publicly stepped for funding a new
feature of PyWPS and I should personally be more than happy for it.

Unluckily Windows is a rather unfriendly environment and I personally
have no clue about IIS I have to say.

OSGeo4W does it somehow usable from my perspective and IIRC, there is
Apache2 instance within OSGeo4W stack?

I agree with Luis, that it used to be complicated, to run PyWPS on
windows - I intentionally omitted to take care on this in the past.
But meanwhile situation has changed, since we now run PyWPS in the
background, passing tasks from SQlite database.

It seems to me, that the main part, which needs modification is

https://github.com/geopython/pywps/blob/master/pywps/processing/basic.py#L24

Or maybe even

https://github.com/geopython/pywps/blob/master/pywps/processing/__init__.py#L30

adding e.g. WINDOWS modification (along with SHEDULER), which would
use different mechanism of Job call on Windows

?

Jachym

ne 5. 7. 2020 v 11:10 odesílatel Idan Miara <idan at miara.com> napsal:
>
> Hi all,
>
> My employer would like to propose funding for extending pywps codebase to support running a pywps service in production on Windows (for instance, under IIS or as a windows service) in an asynchronous mode.
> This extension shall include running a demo app with deployment instructions, optionally with instructions for creating a windows installer for a demo service. It shall be licensed under the pywps license (MIT) and integrated into the official pywps codebase (or at least provide a decent PR).
> Currently, I am able to run this pywps demo.py example on Windows with the OSGeo4W python environment in synchronous mode.
>
> If anyone would like to step forward with a proposal or to discuss it further, please let me know.
>
> Kind regards,
> Idan
>
> On Fri, 3 Jul 2020 at 10:58, Idan Miara <idan at miara.com> wrote:
>>
>> Hi Carsten, Luí­s and all,
>>
>> Thanks for your replies!
>>
>> Currently I use pywps with Docker based on gdal's official docker image (which is ubuntu based).
>> https://github.com/talos-gis/talos_wps
>> The service is still under testing but so far it looks very promising.
>>
>> I need to deploy it also on Windows because I need to use a customer's C DLL which is Windows only, so either I will need to port the DLL to Linux or find a way to run pywps on Windows in production.
>>
>> Luí­s wrote to me that from what he read online, all Python classes dealing with the Multiprocess must be modified to run on Windows, that is for running it in an asynchronous mode.
>>
>> I understand that this is not the normal setup, so I guess I will need to test how suitable this demo.py is for production on Windows, or look for some other solution.
>>
>> Kind regards,
>> Idan
>>
>>
>> On Fri, 3 Jul 2020 at 10:32, Carsten Ehbrecht <ehbrecht at dkrz.de> wrote:
>>>
>>> Hi Idan,
>>>
>>> PyWPS is not meant to run in production on Windows. It may still work … but I’m not sure.
>>>
>>> Using a docker container might already be a good alternative.
>>>
>>> There is a Flask demo with PyWPS … but outdated:
>>> https://github.com/geopython/pywps-flask
>>>
>>> Usually I use a cookiecutter template to setup a new PyWPS service which includes docker container support:
>>> https://github.com/bird-house/cookiecutter-birdhouse
>>>
>>> For a full deployment on Linux with nginx/gunicron I use an Ansible playbook:
>>> https://github.com/bird-house/ansible-wps-playbook
>>>
>>> Currently in our projects people are mostly using the PyWPS generated by the cookiecutter … using Werkzeug/WSGI included in PyWPS either on the Linux host or in a container (for production).
>>>
>>> Cheers,
>>> Carsten
>>> --
>>> Carsten Ehbrecht
>>> Abteilung Datenmanagement
>>>
>>> Deutsches Klimarechenzentrum GmbH (DKRZ)
>>> Bundesstraße 45 a • D-20146 Hamburg • Germany
>>>
>>> Phone: +49 40 460094-148
>>> FAX:   +49 40 460094-270
>>> Email: ehbrecht at dkrz.de
>>> URL:   www.dkrz.de
>>>
>>> Geschäftsführer: Prof. Dr. Thomas Ludwig
>>> Sitz der Gesellschaft: Hamburg
>>> Amtsgericht Hamburg HRB 39784
>>>
>>> > On 1. Jul 2020, at 21:10, Idan Miara <idan at miara.com> wrote:
>>> >
>>> > Hi all,
>>> >
>>> > I have a working pywps service that is deployed successfully with a Linux docker using gunicorn.
>>> > I need some pointers for running it in a production environment on Windows.
>>> >
>>> > As gunicorn is Linux only I need to find an alternative.
>>> > I can run it on Windows with the birdhouse-workshop demo script:
>>> > https://github.com/bird-house/birdhouse-workshop/blob/master/demo/demo.py
>>> > But the demo says: "Do not use this service in a production environment." so I'm looking for a better solution.
>>> > I have found also this rather complicated guide:
>>> > https://stackoverflow.com/questions/5072166/how-do-i-deploy-a-flask-application-in-iis
>>> >
>>> > Any suggestions?
>>> >
>>> > Kind regards,
>>> > Idan
>>> > _______________________________________________
>>> > pywps-dev mailing list
>>> > pywps-dev at lists.osgeo.org
>>> > https://lists.osgeo.org/mailman/listinfo/pywps-dev
>>>
> _______________________________________________
> pywps-dev mailing list
> pywps-dev at lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/pywps-dev

-- 
Jachym Cepicky
e-mail: jachym.cepicky gmail com
URL: http://les-ejk.cz
GPG: http://les-ejk.cz/pgp/JachymCepicky.pgp


More information about the pywps-dev mailing list