geopython / GeoHealthCheck

Service Status and QoS Checker for OGC Web Services
https://geohealthcheck.org
MIT License
86 stars 69 forks source link

BlockingIOError - Resource temporarily unavailable #367

Closed p4tr1ckno11 closed 3 years ago

p4tr1ckno11 commented 3 years ago

Hello, when I try to run GHC with the current docker image (also with version 0.8.3), I got the following exception: BlockingIOError: [Errno 11] Resource temporarily unavailable throwing by sent += sendfile(sockno, fileno, offset + sent, count) in File "/venv/lib/python3.7/site-packages/gunicorn/http/wsgi.py", line 393, in sendfile

Machine-specs: debian 10 docker 20.10.7 docker-compose 1.15.0

On another machine with docker-compose version 1.29.1 and docker 20.10.5 it is running as expected.

Is it possible that the docker-compose version is too old?

Thanks!

p4tr1ckno11 commented 3 years ago

Seems to be, that gunicorn needs special rights to use sendfile function. I've append --no-sendfile to the gunicorn start-up call (within run-web.sh), to fallback to normal r/w operations. Its now up and running.

justb4 commented 3 years ago

Thanks @p4tr1ckno11 for noticing. Never encountered this error. Running quite some Docker instances of both GHC latest and 0.8.3 with Docker Compose. e.g.

docker-compose version 1.22.0, build f46880fe
Docker version 20.10.6, build 370c289

Looks a lot like this issue. Strange that is went away with a newer Docker Compose version as, though it is Python, D Compose is separate from the GHC containers.