|
@@ -116,14 +116,16 @@ pub async fn run_mexc_subscriptions(
|
|
|
let exchange_info_response = rest_client.exchange_info(Value::Null).await;
|
|
let exchange_info_response = rest_client.exchange_info(Value::Null).await;
|
|
|
// info!("获取到的 exchange_info_data: {}", serde_json::to_string_pretty(&exchange_info_response.data).unwrap());
|
|
// info!("获取到的 exchange_info_data: {}", serde_json::to_string_pretty(&exchange_info_response.data).unwrap());
|
|
|
|
|
|
|
|
- // 调用过滤函数,注意现在传入的是 &Value
|
|
|
|
|
|
|
+ // 调用过滤函数,注意现在传入的是 &Value。default_symbols是mexc允许api交易的交易对;exchange_info是每个交易对的信息,status字段是该交易对状态,也需要过滤。
|
|
|
let filtered_map = process_exchange_info(&default_symbols_response.data, &exchange_info_response.data)?;
|
|
let filtered_map = process_exchange_info(&default_symbols_response.data, &exchange_info_response.data)?;
|
|
|
info!("成功过滤并转换了交易对信息,最终数量: {}", filtered_map.len());
|
|
info!("成功过滤并转换了交易对信息,最终数量: {}", filtered_map.len());
|
|
|
if filtered_map.is_empty() {
|
|
if filtered_map.is_empty() {
|
|
|
return Err(anyhow!("未能获取到任何有效的交易对,请检查网络或 API 接口。"));
|
|
return Err(anyhow!("未能获取到任何有效的交易对,请检查网络或 API 接口。"));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- let symbols: Vec<String> = filtered_map.keys().cloned().collect();
|
|
|
|
|
|
|
+ let mut symbols: Vec<String> = filtered_map.keys().cloned().collect();
|
|
|
|
|
+ symbols = symbols.iter().take(1).cloned().collect();
|
|
|
|
|
+
|
|
|
info!("成功获取 {} 个交易对,准备订阅 1 分钟 K 线、深度数据(需要http初始化)...", symbols.len());
|
|
info!("成功获取 {} 个交易对,准备订阅 1 分钟 K 线、深度数据(需要http初始化)...", symbols.len());
|
|
|
let mut ws_manager = WsManager::new(symbols, filtered_map.clone(), running.clone());
|
|
let mut ws_manager = WsManager::new(symbols, filtered_map.clone(), running.clone());
|
|
|
ws_manager.subscribe_all().await?;
|
|
ws_manager.subscribe_all().await?;
|