这是我第一个使用 Flask 和 SSE 的应用程序,我需要找到一种方法来返回页面,这些异常可能在事件执行期间发生。此应用程序使用 Netconf 从路由器获取一些实时信息。
我创建了一些仅在 Flask 控制台中向我显示消息的异常,但我需要将其显示在 HTML 界面中并中断流。
@app.route('/data')
def data():
def generate():
try:
conn = manager.connect(
host='10.0.0.1',
port='22',
username='admin',
password='123',
timeout=10,
device_params={'name':'junos'},
hostkey_verify=False
def getInterface(command):
interface = command.xpath('//system-information')
return interface
try:
interface = getInterface(conn.command('code to get information'))
except:
print('Error, interface not found!')
conn.close_session()
except Exception as e:
print('Error! ' + str(e))
return Response(generate(), mimetype= 'text/event-stream')
上面的代码如果出现异常,它不会停止 SSE '循环'并不断重复登录到控制台消息“错误,找不到接口!”
我如何通过将这些异常发送到 HTML 界面来处理它并在它发生时停止 SSE 的执行?