Description
Due to some weird interactions between dask and PyWPS multiprocessing logic, there is a lock happening when PyWPS runs a process in async mode after having run a process in sync mode. One option is to always run in async mode server side, but have the client "wait" for the server to respond, like in a sync call.
At the moment, the execution mode is set using the progress argument, which is not intuitive and mixes two concepts, the progress bar display and the execution mode. I believe we should review our user interface for this, to allow in particular the possibility to send async requests but wait for the response in the client.
Description
Due to some weird interactions between dask and PyWPS multiprocessing logic, there is a lock happening when PyWPS runs a process in async mode after having run a process in sync mode. One option is to always run in async mode server side, but have the client "wait" for the server to respond, like in a sync call.
At the moment, the execution mode is set using the
progressargument, which is not intuitive and mixes two concepts, the progress bar display and the execution mode. I believe we should review our user interface for this, to allow in particular the possibility to send async requests but wait for the response in the client.