У меня есть небольшое приложение flask, в котором я запустил приложение Gunicorn в качестве WSGI, и кажется, что Flask, возможно, не выполняет запросы полностью, так как рабочие тайм-ауты. Вы можете увидеть поведение в журналах ниже.
Вот моя команда запуска Gunicorn из моего Dockerfile для приложения:
CMD ["/usr/local/bin/gunicorn", "-b", ":8080", "app:app", "--log-level=debug", "--workers=9", "-t 30"]
[2020-03-03 23:19:46 +0000] [1] [INFO] Starting gunicorn 20.0.4
wsgi_1 | [2020-03-03 23:19:46 +0000] [1] [DEBUG] Arbiter booted
wsgi_1 | [2020-03-03 23:19:46 +0000] [1] [INFO] Listening at: http://0.0.0.0:8080 (1)
wsgi_1 | [2020-03-03 23:19:46 +0000] [1] [INFO] Using worker: sync
wsgi_1 | [2020-03-03 23:19:46 +0000] [8] [INFO] Booting worker with pid: 8
wsgi_1 | [2020-03-03 23:19:46 +0000] [9] [INFO] Booting worker with pid: 9
wsgi_1 | [2020-03-03 23:19:46 +0000] [10] [INFO] Booting worker with pid: 10
wsgi_1 | [2020-03-03 23:19:46 +0000] [11] [INFO] Booting worker with pid: 11
wsgi_1 | [2020-03-03 23:19:46 +0000] [12] [INFO] Booting worker with pid: 12
wsgi_1 | [2020-03-03 23:19:46 +0000] [13] [INFO] Booting worker with pid: 13
wsgi_1 | [2020-03-03 23:19:46 +0000] [14] [INFO] Booting worker with pid: 14
wsgi_1 | [2020-03-03 23:19:46 +0000] [15] [INFO] Booting worker with pid: 15
wsgi_1 | [2020-03-03 23:19:46 +0000] [16] [INFO] Booting worker with pid: 16
wsgi_1 | [2020-03-03 23:19:46 +0000] [1] [DEBUG] 9 workers
wsgi_1 | [2020-03-03 23:19:55 +0000] [14] [DEBUG] GET /users
wsgi_1 | [2020-03-03 23:19:55 +0000] [9] [DEBUG] GET /favicon.ico
wsgi_1 | [2020-03-03 23:20:25 +0000] [1] [CRITICAL] WORKER TIMEOUT (pid:14)
wsgi_1 | [2020-03-03 23:20:25 +0000] [14] [INFO] Worker exiting (pid: 14)
wsgi_1 | [2020-03-03 23:20:26 +0000] [26] [INFO] Booting worker with pid: 26
wsgi_1 | [2020-03-03 23:21:26 +0000] [1] [CRITICAL] WORKER TIMEOUT (pid:9)
wsgi_1 | [2020-03-03 23:21:26 +0000] [1] [CRITICAL] WORKER TIMEOUT (pid:15)
wsgi_1 | [2020-03-03 23:21:26 +0000] [9] [INFO] Worker exiting (pid: 9)
wsgi_1 | [2020-03-03 23:21:26 +0000] [15] [INFO] Worker exiting (pid: 15)
wsgi_1 | [2020-03-03 23:21:26 +0000] [28] [INFO] Booting worker with pid: 28
wsgi_1 | [2020-03-03 23:21:26 +0000] [1] [DEBUG] 8 workers
wsgi_1 | [2020-03-03 23:21:26 +0000] [29] [INFO] Booting worker with pid: 29
wsgi_1 | [2020-03-03 23:21:26 +0000] [1] [DEBUG] 9 workers
Есть идеи о том, что может вызывать тайм-аут этих запросов таким образом? Тайм-ауты не вызывают особых проблем с приложением, но я думаю, что это может быть проблемой в работе. Похоже, это не связано с каким-либо конкретным c маршрутом моего приложения. Как вы можете видеть, даже загрузка favicon может вызвать проблему. Похоже, что проблема не указана c для моего приложения, так как запуск стандартного Flask Hello World также приводит к тому же поведению.