Size: a a a

2020 November 12

u

unixshaman in Python Flask
Yury Chuker
Ну или смени фреймворк на асинхронный
А можно примеры этого?
источник

YC

Yury Chuker in Python Flask
unixshaman
А можно примеры этого?
Aiohttp
Fastapi
источник

YC

Yury Chuker in Python Flask
Ну с ними намного больше приколов и подводных камней имхо
источник

u

unixshaman in Python Flask
Yury Chuker
Aiohttp
Fastapi
Спасибо, посмотрю.
источник

YC

Yury Chuker in Python Flask
И я бы на вашем месте 1000 раз подумал, нужно ли вам это
источник

I

Ildar in Python Flask
лучше гуникорн попробовать?
источник

V

Vladi in Python Flask
Ildar
лучше гуникорн попробовать?
Он легко запускается
источник

V

Vladi in Python Flask
Просто прочитать доку фласк и юникорне
источник

u

unixshaman in Python Flask
Yury Chuker
И я бы на вашем месте 1000 раз подумал, нужно ли вам это
Короче, у меня сервис, у которого будет 2-3 пользователя, но много запросов одновременных из Jenkins. Я хочу чтобы - чем легче по весу, и меньше компонентов (чтобы документацию не писать по администрированию всего) - тем лучше. Т.е. exe-шник + nssm.exe сделать сервис в Windows и заработало. А не добавлять в сборку еще nginx, гуникорн и прочие прочие радости, в результате будет весит тонну.
источник

u

unixshaman in Python Flask
И сейчас стандартный flask run проверил на многопоточность, и да, это работает. Т.е. у меня 1 запрос выпалняется 30 секунд, при этом параллельные запросы отлично отрабатываются
источник

I

Ildar in Python Flask
голый фласк?
источник

u

unixshaman in Python Flask
Ildar
голый фласк?
Я как бы далеко не эксперт. Но когда увидел ваш параметр threaded, сразу встрепенулся - ооо, класс, мне тоже такой нужен, я чет забыл это проверить. И пошел его ставить, а потом решил доку почитать, и кажется, он по умолчанию стоит True, т.е. его есть смысл только в False выставлять.
источник

I

Ildar in Python Flask
по умолчанию он False
источник

I

Ildar in Python Flask
def run_simple(
   hostname,
   port,
   application,
   use_reloader=False,
   use_debugger=False,
   use_evalex=True,
   extra_files=None,
   reloader_interval=1,
   reloader_type="auto",
   threaded=False,
   processes=1,
   request_handler=None,
   static_files=None,
   passthrough_errors=False,
   ssl_context=None,
источник

u

unixshaman in Python Flask
Ildar
def run_simple(
   hostname,
   port,
   application,
   use_reloader=False,
   use_debugger=False,
   use_evalex=True,
   extra_files=None,
   reloader_interval=1,
   reloader_type="auto",
   threaded=False,
   processes=1,
   request_handler=None,
   static_files=None,
   passthrough_errors=False,
   ssl_context=None,
Ты смотришь run_simple функцию, а я просто run
источник

I

Ildar in Python Flask
ну как бы рун вот так выглядит
источник

I

Ildar in Python Flask
def run(self, host=None, port=None, debug=None, load_dotenv=True, **options):
источник

T

Tishka17 in Python Flask
Ildar
просто непонятно , почему фласк не может обработать более 1го входящего подключения одновременно
Потому что встроенный в фласк сервер не рассчитан на продакшн
источник

u

unixshaman in Python Flask
Ildar
def run(self, host=None, port=None, debug=None, load_dotenv=True, **options):
Ну вот а дальше там ставиться True в эту опцию, я скинул скриншот как раз этого места
источник

u

unixshaman in Python Flask
Ildar
просто непонятно , почему фласк не может обработать более 1го входящего подключения одновременно
Используй run, а не run simple, вот подтверждение того, что обрабатывает параллельные подключения
источник