Эх сурвалжийг харах

防止卡cpu,只能先放下网络层,因为现在测试数据量不大,网络层可以略卡。

skyfffire 2 жил өмнө
parent
commit
50580a105b

+ 3 - 0
exchanges/src/binance_swap_ws.rs

@@ -228,6 +228,9 @@ impl BinanceSwapWs {
         let lable = self.label.clone();
         /*****消息溜***/
         loop {
+            // 如果不暂停,还给cpu,这个loop会吃cpu,不还给操作系统
+            // 如果暂停,还给cpu,这个ws就会堵塞数据
+            tokio::time::sleep(Duration::from_millis(1)).await;
             let msg = web_socket.read_message();
             match msg {
                 Ok(Message::Text(text)) => {

+ 1 - 1
exchanges/src/kucoin_swap_ws.rs

@@ -322,7 +322,7 @@ impl KucoinSwapWs {
         let mut ping_interval = chrono::Utc::now().timestamp_millis();
         let mut ping_timeout = chrono::Utc::now().timestamp_millis();
         loop {
-            tokio::time::sleep(Duration::from_nanos(1)).await;
+            tokio::time::sleep(Duration::from_millis(1)).await;
             let msg = web_socket.read_message();
             match msg {
                 Ok(Message::Text(text)) => {

+ 2 - 1
strategy/src/binance_usdt_swap.rs

@@ -22,6 +22,7 @@ pub(crate) async fn reference_binance_swap_run(bool_v1 :Arc<AtomicBool>, quant_a
         let mut ba_exc = BinanceSwapWs::new_label(name, false, exchange_params, BinanceWsType::PublicAndPrivate, tx);
         ba_exc.set_subscribe(vec![
             BinanceSubscribeType::PuDepth20levels100ms,
+            // BinanceSubscribeType::PuBookTicker,
             // BinanceSubscribeType::PuAggTrade
         ]);
         ba_exc.custom_subscribe(bool_v1, symbols.clone()).await;
@@ -34,7 +35,7 @@ pub(crate) async fn reference_binance_swap_run(bool_v1 :Arc<AtomicBool>, quant_a
         let mut max_buy = Decimal::ZERO;
         let mut min_sell = Decimal::ZERO;
         loop {
-            // sleep(Duration::from_nanos(1)).await;
+            // sleep(Duration::from_millis(1)).await;
 
             match rx.recv().await {
                 Some(data) => {