Многопоточный сервер на Python 3
На моем сервере выполняются скрипты написанные тоже на python. Я создал html страничку где пользователь вводит информацию, которая отправляется в эти скрипты, и получает результат. Все прекрасно работает. Но работает только в 1 поток, то есть, если первый человек кидает запрос, и в это же время кидает запрос второй человек, то все перестает работать, при этом никакой ошибки не появляется. Вот код запуска моего сервера. Как это исправить?
from http.server import HTTPServer, CGIHTTPRequestHandler
server_address = ("localhost", 8000)
httpd = HTTPServer(server_address, CGIHTTPRequestHandler)
httpd.serve_forever()
Ответы (1 шт):
Автор решения: eri
→ Ссылка
Начиная с версии 3.7 можно использовать http.server.ThreadingHTTPServer вместо HTTPServer
Для более ранних версий нужно определить класс
class ThreadingHTTPServer(socketserver.ThreadingMixIn, http.server.HTTPServer):
pass
Чтоб загрузить все ядра (сложные вычисления) есть ForkingMixIn