9 Stimmen

SimpleHTTPRequestHandler schließt die Verbindung vor der Rückkehr aus der do_POST-Methode

Ich schreibe gerade einen einfachen Webserver in Python. Hier folgt eine vereinfachte Version meines Codes:

class StreamerHandler(SimpleHTTPRequestHandler):
    def do_POST(self):
        try:
            length = int(self.headers.getheader('content-length'))
            data = self.rfile.read(length)
            self.send_response(200, "OK")
            #process_data(data, self.client_address)
        except Exception as inst:
            logging.error(type(self).__name__ + "/"  + type(inst).__name__ + " (" + inst.__str__() + ")")

class Streamer(TCPServer):
    def __init__(self, overlay):
        self.allow_reuse_address = True
        TCPServer.__init__(self, ("", port), StreamerHandler)

Was ich tun möchte, ist, die Antwort zu senden, die TCP-Verbindung zu schließen und dann die process_data-Methode auszuführen, was eine lange Zeit in Anspruch nehmen kann.

Gibt es eine Möglichkeit, dies zu erreichen? Die einzige Lösung, die ich mir vorstellen kann, ist die Verwendung eines dedizierten Threads, um die Verarbeitung zu behandeln.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X