Gibt es eine Möglichkeit, wie BaseHTTPServer.HTTPServer wie SocketServer.ThreadingTCPServer Multi-Threading sein?Python - BaseHTTPServer.HTTPServer Parallelität und Threading
Antwort
können Sie einfach das Einfädeln mixin verwenden diese beiden Klassen, um es Multithreading zu machen :)
Es wird aber nicht viel helfen Ihnen bei der Leistung, aber es ist atleast multithreaded.
from SocketServer import ThreadingMixIn
from BaseHTTPServer import HTTPServer
class MultiThreadedHTTPServer(ThreadingMixIn, HTTPServer):
pass
Das sieht aus wie * eine * Lösung .. aber ich würde eher entscheiden, meinen eigenen Server zu schreiben als etwas langsames zu verwenden .. :( – Ian
Wenn Sie einfach nach Python Hosting suchen, dann warum nicht einen vorhandenen http Server wie nginx verwenden, apache oder lighttpd? Wie für die Leistung, threading es ermöglicht es Ihnen, mehrere gleichzeitige Verbindungen ohne zu blockieren, so dass im Falle von mehreren gleichzeitigen Anfragen wird es schneller sein. Aber es wird immer noch nur 1 Prozessor. – Wolph
Ich bin nicht Ich suche einen Warteschlangenserver, der eingehende Anfragen entgegennimmt (http oder ein ähnliches Format) und eine Aktion basierend auf der Anfrage durchführt. – Ian
Gibt es einen Grund, warum Sie es brauchen? – jakebman
Weil ich einen grundlegenden Web-Server möchte, der mit Nebenläufigkeit umgehen kann? Ich brauche auch kein Framework wie web.py, cherrypy oder ähnliches, ich möchte nur einen wirklich einfachen Webserver wie BaseHTTPServer, der mehrere gleichzeitige Anfragen verarbeiten kann. – Ian
Hier ist eine Referenz: [link] (http://www.doughellmann.com/PyMOTW/BaseHTTPServer/index.html#module-BaseHTTPServer), threading, Forking – sfossen