Flask socketio Backgroundtask stoppt nach http-BeitragPython

Python-Programme
Guest
 Flask socketio Backgroundtask stoppt nach http-Beitrag

Post by Guest »

Jedes Mal, wenn ich eine Post-Anfrage an /tts/say oder eine andere Post-Anfrage sende, stoppt die Hintergrundaufgabe. Warum ist das so und vor allem: Wie kann ich dieses Verhalten stoppen? Ich konnte keine weiteren nützlichen Informationen finden. Wenn Sie also Informationen vermissen, fragen Sie einfach nach, und ich werde versuchen, sie so schnell wie möglich bereitzustellen. In der Datei „pepper.py“ besteht über das Socket-Modul über Port 9999 eine Verbindung zu einem Python2-Skript. Hier ist der Code aus der Hauptdatei „app.py“:

Code: Select all

    import os
from flask import Flask
import flask
from flask_socketio import SocketIO

import pepper
import config

app = Flask(__name__)
socketio = SocketIO(app)

pepper = pepper.Pepper()

@app.route('/')
def main_get():  # put application's code here
return flask.render_template(
'index.html',
autonomous_life_options=pepper.get_autonomous_life_options(),
apps=pepper.get_installed_apps(),
postures=pepper.get_postures()
)

@app.route('/tts/say', methods=['POST'])
def tts_say():
text = flask.request.get_json()['text']
pepper.say(text)
return flask.Response("OK", status=200)

...

@socketio.on('connect')
def handle_connect():
print('Client connected: ', flask.request.remote_addr)

def send_updates():
while True:
socketio.sleep(1)
print("sending...")
socketio.emit('update_values', {
'volume': pepper.get_volume(),
'tablet_brightness': pepper.get_tablet_brightness(),
'autonomous_life_state': pepper.get_autonomous_life(),
'battery_level': pepper.get_battery_level(),
'apps_is_running': pepper.apps_is_running
})

if __name__ == '__main__':
socketio.start_background_task(send_updates)
socketio.run(app, **config.server_config_args)
print("Server listening on port 5005")

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post