Ver código fonte

panic级别的错误捕获放到最前面。

skyfffire 1 ano atrás
pai
commit
9a4c778ef9
1 arquivos alterados com 9 adições e 8 exclusões
  1. 9 8
      src/main.rs

+ 9 - 8
src/main.rs

@@ -45,14 +45,6 @@ async fn main() {
     info!("配置读取成功:{:?}。", params);
     // 主进程控制
     let running = Arc::new(AtomicBool::new(true));
-    // ws退出程序
-    let ws_running = Arc::new(AtomicBool::new(true));
-    // quant初始化动作
-    let quant_arc = quant_libs::init(params.clone(), ws_running.clone(), running.clone()).await;
-    // 初始化中控服务
-    server::run_server(params.port.clone(), running.clone(), quant_arc.clone());
-    // ctrl c退出检查程序
-    control_c::exit_handler(running.clone());
 
     // panic错误捕获,panic级别的错误直接退出
     let account_name_clone = params.account_name.clone();
@@ -65,6 +57,15 @@ async fn main() {
         panic_running.store(false, Ordering::Relaxed);
     }));
 
+    // ws退出程序
+    let ws_running = Arc::new(AtomicBool::new(true));
+    // quant初始化动作
+    let quant_arc = quant_libs::init(params.clone(), ws_running.clone(), running.clone()).await;
+    // 初始化中控服务
+    server::run_server(params.port.clone(), running.clone(), quant_arc.clone());
+    // ctrl c退出检查程序
+    control_c::exit_handler(running.clone());
+
     // 每一秒检查一次程序是否结束
     while running.load(Ordering::Relaxed) {
         tokio::time::sleep(Duration::from_secs(1)).await;