Async processes accumulate until failure with sqlite in-memory
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 35/100
Direzione di ricerca
Riproduci il problema con logging.database=sqlite:///:memory: e server.parallelprocesses=5, quindi esamina dblog.py intorno al conteggio dei processi in esecuzione e Process.py nella gestione collegata della coda e dello stato. Verifica che i job asincroni completati non consumino più il limite dei processi e che le richieste successive ricevano lo stato in coda e la risposta appropriati.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Description
This relates to running processes in async mode, with logging.database=sqlite:///:memory:
When an async process completes, i.e. (pywps_requests.percent_done: 100.0, pywps_requests.status: 4) the running_count reported by dblog never seems to reflects this.
So if I set parallelprocesses=5 I can execute 5 successful jobs, however each job increments this running count, which is never decremented on completion, meaning I can only run 5 before all I get is ‘PyWPS Process GetSubset accepted’ response for a process which never runs.
This issue only seems to happen when using in-memory sqlite (i.e. does not occur when supplying my own sqlite db string).
Environment
- operating system: Debian
- Python version: 3.6.5
- PyWPS version: 4.2.2
- source/distribution
- git clone
- Debian
- PyPI
- zip/tar.gz
- other (please specify):
- web server
- Apache/mod_wsgi
- CGI
- other (please specify): nginx/gunicorn
Steps to Reproduce
- Run pywps configured with
logging.database=sqlite:///:memory:server.parallelprocesses=5
- Submit 5 async requests
- i.e. with
storeExecuteResponse=true&status=true
- i.e. with
- should work as expected, then on 6th request:
- Gets put in the stored queue
- despite status being set to PyWPS Process stored in job queue, the response document still says ‘PyWPS Process GetSubset accepted’
- nothing else can run now
Additional Information
This is being run in a docker container from macos host, don’t think it should affect this 🤔
- Lingua principale
- Python
- Stelle
- 186
- Fork
- 117
- Merge medio
- 11g 20h
- PR unite (30g)
- 1
Preparare l'ambiente
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di geopython/pywps
-
ReadTheDocs OAuth App InstallationForse di nuovo libera @tomkralidis l’ha presa 71 giorni fa e non c’è nessuna pull request aperta. Apertadocumentation
-
Modernizing the packaging of the libraryForse di nuovo libera @Zeitsperre l’ha presa 284 giorni fa e non c’è nessuna pull request aperta. Apertadocumentation enhancement packaging
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 45/100
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 45/100
-
ComplexOutput data as reference always generates a file named "input.csv", should be "output".Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 35/100
Tutte le issue di geopython/pywps
Issue simili
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
I maintainer di solito rispondono entro 1 giorno
-
https://search.utilibre.orgApertainstance instance add
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
searxng/searx-instances#941 · 1 commento ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 92/100
FluidNumerics/fluid-walk-blocker#89 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
I maintainer di solito rispondono entro 1 giorno