Как включить поддержку активности на flask, запущенной за uwsgi? - PullRequest
0 голосов
/ 11 марта 2020

Я использую python (3.6) с Flask. Это бежит позади uwsgi. Мне нужно включить поддержку активности в этом приложении, поэтому я добавил параметр --so-keepalive в команду uwsgi, как показано ниже:

uwsgi \
  --uid uwsgi \
  --master \
  --http :8080 \
  --enable-threads \
  --so-keepalive \
  --wsgi-file api/uwsgi.py

, и при проверке заголовка ответа на запрос keep-alive не появляется. Он появляется только в заголовке запроса. Заголовок ответа:

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 99

Я использую curl для проверки соединения:

curl -Iv http://localhost:9301/v2/health  --next http://localhost:9301/v2/health

*   Trying ::1...
* TCP_NODELAY set
* Connected to localhost (::1) port 9301 (#0)
> HEAD /v2/health HTTP/1.1
> Host: localhost:9301
> User-Agent: curl/7.64.1
> Accept: */*
>
< HTTP/1.1 200 OK
HTTP/1.1 200 OK
< Content-Type: application/json
Content-Type: application/json
< Content-Length: 5
Content-Length: 5

<
* Connection #0 to host localhost left intact
* Found bundle for host localhost: 0x7fb4db60b7d0 [can pipeline]
* Could pipeline, but not asked to!
* Connection 0 seems to be dead!
* Closing connection 0
* Hostname localhost was found in DNS cache
*   Trying ::1...
* TCP_NODELAY set
* Connected to localhost (::1) port 9301 (#1)
> GET /v2/health HTTP/1.1
> Host: localhost:9301
> User-Agent: curl/7.64.1
> Accept: */*
>
< HTTP/1.1 200 OK
< Content-Type: application/json
< Content-Length: 5
<
"OK"
* Connection #1 to host localhost left intact
* Closing connection 1

И вы можете видеть, что он создает два соединения #0 и #1. Кажется, на моем сервере не поддерживается соединение keep-alive.

Интересно, включен ли keep-alive в моем приложении? Как я могу включить это?

...