как контролировать использование ресурсов flask? - PullRequest
0 голосов
/ 19 июня 2020

Мне нужно контролировать количество ресурсов, используемых flask -restful.

Согласно документации, flask должен запускаться по умолчанию как однопоточное приложение.

В этом минимальном примере:

import datetime
import time
from flask import Flask
from flask_restful import Resource, Api

app = Flask(__name__)
api = Api(app)

class HelloWorld(Resource):
    def get(self):
        print('HelloWorld called_at', datetime.datetime.now())
        return {'hello world': 'time: %s' % datetime.datetime.now()}


class HelloLuca(Resource):

    def get(self):
        print('HelloLuca called_at', datetime.datetime.now())
        time.sleep(100)
        return {'hello': 'luca'}


api.add_resource(HelloWorld, '/helloworld')
api.add_resource(HelloLuca, '/helloluca')


if __name__ == '__main__':
    app.run(debug=True)

Код может обработать запрос HelloWorld, даже если запрос HelloLuca не был завершен.

HelloLuca called_at 2020-06-19 09:15:03.220952
HelloWorld called_at 2020-06-19 09:15:06.958849
127.0.0.1 - - [19/Jun/2020 09:15:06] "GET /helloworld HTTP/1.1" 200 -
127.0.0.1 - - [19/Jun/2020 09:16:43] "GET /helloluca HTTP/1.1" 200 -

Я ожидал, что HelloWorld будет обработано только после завершения HelloLuca.

В моем случае мне нужно убедиться, что flask использует одно ядро ​​(многопоточность в порядке).

  1. Как я могу контролировать использование ресурсов приложения (ядра / потоки)?
  2. Почему в этом небольшом примере не используется один поток?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...