Нет.Ну, как минимум, в Flask нет ничего, что могло бы сделать это проще, чем другие решения.У SO есть приличный материал по реализации комет-серверов на Python .
Как вы упомянули, там вы можете использовать JavaScript для опроса сервера на предмет новых данных.Это может быть трудно для вашего сервера, хотя, если у вас много пользователей.Открытие одновременных TCP-соединений довольно дорого.Это также означает, что ваш пользовательский интерфейс может выглядеть немного прерывистым, потому что вещи будут обновляться каждую секунду или около того, а не когда новые данные попадают на сервер.
Учитывая это, Flask отлично подходит для этого второго выбора, потому что онтак легко прикрепить функции ответа к отдельным URL.Главное, на что стоит обратить внимание, это функции, которые сильно блокируют ввод-вывод.Длительные функции будут захватывать все приложение.
Допустим, у вас есть два датчика температуры и вы используете jQuery.
@app.route('/gauge/<int:gauge_id>')
def gauge_temp(gauge_id):
temp = temp_from_db(gauge_id) #implement this yourself
return dict(temp=temp, gauge_id=gauge_id)
В файле JavaScript у вас может быть какая-то функция, котораяобновляет элемент DOM каждую минуту с текущей температурой.Этот код должен дать вам представление о том, что вы можете встроить в реальную реализацию:
function updateTemp(gauge_id, selector) {
$.getJSON('/gauge/' + gauge_id, function(data){
$(selector).text = response.temp;
})
}
setInterval('updateTemp(1, "#gauge-1")', 1000 * 60);
setInterval('updateTemp(2, "#gauge-2")', 1000 * 60);