Flask 1.0.2 поток приостановлен после возврата запроса - PullRequest
0 голосов
/ 26 февраля 2020

У меня есть следующая проблема:

ClientA -> запрос -> Flask Сервер -> раскрутить поток (без объединения) и вернуть 200

Ситуация:

  • Когда запрос заканчивается (возвращается 200), поток приостанавливается.
  • Когда поступает другой запрос, поток возобновляется

ie. I spin up a thread that checks the database for a user, then posts a message to slack. When the request returns, the thread never finishes executing, the message was never sent, until the next request comes in and somehow resumed the thread and then the message was sent to slack.

Примечания:

Разве поток не должен работать, пока программа не завершится? почему он приостанавливается, когда запрос возвращается и возобновляется, когда поступает другой запрос. Кажется, что поток не работает, когда flask бездействует.

Мой код такой, как показано ниже:

def handle(self, data):
  # some operation that takes ~3secs
  # post message to slack
  return

def post(self):
  c = threading.Thread(target=handle, args=(data, ))
  c.start()
  return "", 200

Окружающая среда:

Docker контейнер

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...