Фоновая задача Flask Socketio останавливается после сообщения HTTPPython

Программы на Python
Ответить
Anonymous
 Фоновая задача Flask Socketio останавливается после сообщения HTTP

Сообщение Anonymous »

Каждый раз, когда я отправляю запрос на публикацию в /tts/say или любой другой запрос на публикацию, фоновая задача останавливается. Почему это происходит и, самое главное, как мне остановить такое поведение? Более полезной информации мне найти не удалось, поэтому, если вы пропустите какую-то информацию, просто спрашивайте, и я постараюсь предоставить ее как можно быстрее. В Pepper.py есть подключение к скрипту Python2 через модуль сокета через порт 9999. Вот код из основного app.py:
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")


Подробнее здесь: https://stackoverflow.com/questions/793 ... -http-post
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»