2023-01-21

Multiple gunicorn workers prevents flask app from making https calls

A simple flask app accepts requests and then makes calls to https endpoints. Using gunicorn with multiple worker processes leads to ssl failures.

Using flask run works perfectly, albeit slowly.

Using gunicorn --preload --workers 1 also works perfectly, albeit slowly.

Changing to gunicorn --preload --workers 10 very frequently fails with [SSL: DECRYPTION_FAILED_OR_BAD_RECORD_MAC] which leads me to think that there's some per-connection state that is being messed up. But, gunicorn is supposed to fork before beginning service of requests.

Ideas?



No comments:

Post a Comment