Как уже отмечалось многими, HTML не является обычным языком, который может затруднить его синтаксический анализ. Мое решение состоит в том, чтобы превратить его в обычный язык, используя аккуратную программу, а затем использовать синтаксический анализатор XML для использования результатов. Для этого есть много хороших вариантов. Моя программа написана с использованием Java с библиотекой jtidy , чтобы превратить HTML в XML, а затем Jaxen в xpath в результат.
Начиная с Flask 1.0 сервер WSGI, включенный с Flask, запускается в поточном режиме по умолчанию.
До версии 1.0 или если вы отключили потоки, сервер запускается в однопоточном режиме и может обрабатывать только один запрос за раз. Любые параллельные запросы должны будут ждать, пока они не будут обработаны, что может привести к проблемам, если вы попытались связаться с вашим собственным сервером из запроса .
С запросами threaded=True
каждый из которых обрабатывается в новом потоке. Сколько потоков, которые ваш сервер может обрабатывать одновременно, полностью зависит от вашей ОС и от каких ограничений он устанавливает количество потоков в процессе. Реализация использует класс SocketServer.ThreadingMixIn
, который не устанавливает ограничений на количество потоков, которые он может вращать.
Обратите внимание, что сервер Flask предназначен только для разработки . Это не готовый к производству сервер. Не полагайтесь на это, чтобы запустить свой сайт в более широкой сети. Вместо этого используйте правильный сервер WSGI, например gunicorn или uWSGI ).
Сколько запросов мое приложение сможет обрабатывать одновременно с этим утверждением?
blockquote>Это сильно зависит от вашего приложения. Каждый новый запрос будет иметь поток запущен - он зависит от того, сколько потоков ваша машина может обрабатывать. Я не вижу возможности ограничить количество потоков (например, uwsgi-предложения в производственном развертывании).
Каковы недостатки этого использования? Если я не ожидаю более нескольких запросов одновременно, могу ли я продолжать использовать это?
blockquote>Переход от одного потока к многопоточному может привести к ошибкам параллелизма ... if вы используете это, будьте осторожны с тем, как вы обрабатываете глобальные объекты (см. объект g в документации!) и состояние.
thread = true
просто разрешить обработку запрошенных жестко закодированных x
запросов одновременно. Так это определяется моей машиной?
– Harrison
10 August 2016 в 14:57