|
|
@@ -17,7 +17,7 @@ use crate::json_db_utils::{collect_special_trades_json, delete_db_by_exchange};
|
|
|
use crate::listener_tools::{TradeMap, update_trade};
|
|
|
use crate::msv::{generate_msv_by_trades, Indicators, parse_json_to_trades};
|
|
|
|
|
|
-const EXCHANGE_NAME: &str = "gate_coin_spot";
|
|
|
+const _EXCHANGE_NAME: &str = "gate_coin_spot";
|
|
|
|
|
|
lazy_static! {
|
|
|
// 给其他模块使用
|
|
|
@@ -26,7 +26,7 @@ lazy_static! {
|
|
|
static ref TRADES_MAP: Mutex<TradeMap> = Mutex::new(HashMap::new());
|
|
|
}
|
|
|
|
|
|
-pub async fn run_listener(is_shutdown_arc: Arc<AtomicBool>) {
|
|
|
+pub async fn _run_listener(is_shutdown_arc: Arc<AtomicBool>) {
|
|
|
let name = "gate_coin_spot_listener";
|
|
|
// 订阅所有币种
|
|
|
let login = BTreeMap::new();
|
|
|
@@ -62,7 +62,7 @@ pub async fn run_listener(is_shutdown_arc: Arc<AtomicBool>) {
|
|
|
|
|
|
// 建立链接
|
|
|
ws.set_symbols(symbols_chunk);
|
|
|
- ws.ws_connect_async(is_shutdown_clone, data_listener, &write_tx_am, write_rx).await.expect("链接失败(内部一个心跳线程应该已经关闭了)");
|
|
|
+ ws.ws_connect_async(is_shutdown_clone, _data_listener, &write_tx_am, write_rx).await.expect("链接失败(内部一个心跳线程应该已经关闭了)");
|
|
|
});
|
|
|
}
|
|
|
// 每分钟计算msv
|
|
|
@@ -71,7 +71,7 @@ pub async fn run_listener(is_shutdown_arc: Arc<AtomicBool>) {
|
|
|
let end_timestamp = Utc::now().timestamp_millis();
|
|
|
let start_timestamp = end_timestamp - 60 * 1000 * 60 * 2;
|
|
|
for symbol in symbols.clone() {
|
|
|
- let trades_value = collect_special_trades_json(start_timestamp, end_timestamp, EXCHANGE_NAME, &symbol).await;
|
|
|
+ let trades_value = collect_special_trades_json(start_timestamp, end_timestamp, _EXCHANGE_NAME, &symbol).await;
|
|
|
let trades = parse_json_to_trades(trades_value);
|
|
|
let msv = generate_msv_by_trades(trades, dec!(50), vec![], start_timestamp, end_timestamp);
|
|
|
let mut indicator_map = INDICATOR_MAP.lock().await;
|
|
|
@@ -84,13 +84,13 @@ pub async fn run_listener(is_shutdown_arc: Arc<AtomicBool>) {
|
|
|
tokio::spawn(async move {
|
|
|
loop {
|
|
|
tokio::time::sleep(Duration::from_secs(1800)).await;
|
|
|
- delete_db_by_exchange(EXCHANGE_NAME, "trades", 5 * 60).await;
|
|
|
+ delete_db_by_exchange(_EXCHANGE_NAME, "trades", 5 * 60).await;
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
|
|
|
// 读取数据
|
|
|
-pub async fn data_listener(response: ResponseData) {
|
|
|
+pub async fn _data_listener(response: ResponseData) {
|
|
|
if response.code != 200 {
|
|
|
return;
|
|
|
}
|
|
|
@@ -107,7 +107,7 @@ pub async fn data_listener(response: ResponseData) {
|
|
|
|
|
|
// 更新到本地数据库
|
|
|
let trades_map = TRADES_MAP.lock().await;
|
|
|
- update_trade(trade, trades_map, EXCHANGE_NAME).await;
|
|
|
+ update_trade(trade, trades_map, _EXCHANGE_NAME).await;
|
|
|
}
|
|
|
}
|
|
|
_ => {
|