diff --git a/backend/src/agent/agent.rs b/backend/src/agent/agent.rs index 7abcdee..2b34002 100644 --- a/backend/src/agent/agent.rs +++ b/backend/src/agent/agent.rs @@ -111,6 +111,9 @@ impl StreamHandler> for Agent { } Err(err) => { error!("error: {:?}", err); + if self.ws_addr.is_some() { + self.ws_addr.as_ref().unwrap().do_send(ws::WsMsg::Close); + } ctx.address().do_send(AgentMsg::Shutdown); } } diff --git a/backend/src/agent/ws.rs b/backend/src/agent/ws.rs index f92e8cd..f979464 100644 --- a/backend/src/agent/ws.rs +++ b/backend/src/agent/ws.rs @@ -16,6 +16,7 @@ use super::agent::*; #[rtype(result = "()")] pub enum WsMsg { SendToClient(Bytes), + Close, } /// Define Websocket actor @@ -41,6 +42,9 @@ impl Handler for WsSession { WsMsg::SendToClient(data) => { ctx.binary(data); } + WsMsg::Close => { + ctx.stop(); + } }; } } diff --git a/backend/src/main.rs b/backend/src/main.rs index cd024da..a2e95ee 100644 --- a/backend/src/main.rs +++ b/backend/src/main.rs @@ -44,7 +44,7 @@ impl Default for AppData { fn setup_logger() { let logger = femme::pretty::Logger::new(); async_log::Logger::wrap(logger, || 12) - .start(log::LevelFilter::Trace) + .start(log::LevelFilter::Warn) .unwrap(); }