I einen python2.7 Server mit Kolben haben, flask_socketio, uwsgiPython Socket-Verbindung am Leben erhalten
Hier ist ein Code-Beispiel:
from fit.app import app
from flask_socketio import SocketIO, emit
from fit.query import getESValue
socketio = SocketIO(app)
@socketio.on('get_client_info')
def handle_message(data):
client = data["client"]
p_id = data["p_id"]
esvalues = getESValue(client, None, p_id)
emit('client_results', {"client": client, "data": esvalues})
if __name__ == "__main__":
socketio.run(app)
esvalues = getESValue (Client, ohne, p_id) ist eine Operation mit hohem Gewicht, die bis zu 15 Minuten dauern kann.
Aber dann ist es erfolgreich beendet, ich versuche Ergebnisse zu Client-Seite zu senden und folgende Fehlermeldungen an:
Receive error Traceback (most recent call last): File "venv/local/lib/python2.7/site-packages/engineio/socket.py", line 209, in _websocket_hand ler self.receive(pkt) File "venv/local/lib/python2.7/site-packages/engineio/socket.py", line 53, in receive self.send(packet.Packet(packet.PONG, pkt.data)) File "venv/local/lib/python2.7/site-packages/engineio/socket.py", line 67, in send raise IOError('Socket is closed') IOError: Socket is closed
und dann diese:
error: (9, 'Bad file descriptor') Wed Jul 26 13:29:28 2017 Greenlet at 0x7f4ba547be10: select_greenlet_runner(9,)> failed with error
Ich denke, dass ich m versucht, die Socket-Verbindung zu verwenden, die geschlossen wurde. Wie kann ich es am Leben erhalten, bis 15 Minuten erledigt sind?
könnten Sie bitte liefern Python-Version davon: Es kann durch Ändern Sie diese Zeile erreicht werden? –
Ich bin downvoting, weil die Antwort nichts erklärt und tatsächlich nicht genau das tut, was OP fragte –
@ ВласБоюс Dies könnte helfen –