Moving discussion from Ouranosinc/raven#391 to here.
Long requests cause timeouts in the current configuration of finch using gunicorn.
According to the doc (https://docs.gunicorn.org/en/latest/design.html#choosing-a-worker-type), we shouldn't be using the sync workers for "Applications making long blocking calls (Ie, external web services)", which is exactly was finch is all about.
2 solutions tried (in the gunicorn command) and resolved the timeout problem :
- Use
-t 0 to disable timeouts entirely.
- Use
-k gthread to use an asynchronous worker.
AFAIU, the timeout is still counted for async worker, but only if they are idle.
I'm not sure of the implication of either solutions.
Moving discussion from Ouranosinc/raven#391 to here.
Long requests cause timeouts in the current configuration of finch using
gunicorn.According to the doc (https://docs.gunicorn.org/en/latest/design.html#choosing-a-worker-type), we shouldn't be using the
syncworkers for "Applications making long blocking calls (Ie, external web services)", which is exactly was finch is all about.2 solutions tried (in the gunicorn command) and resolved the timeout problem :
-t 0to disable timeouts entirely.-k gthreadto use an asynchronous worker.AFAIU, the timeout is still counted for async worker, but only if they are idle.
I'm not sure of the implication of either solutions.