Spaces:
Running
Running
Upload main.rs
Browse files- src/main.rs +8 -8
src/main.rs
CHANGED
|
@@ -1073,14 +1073,14 @@ async fn send_audio(
|
|
| 1073 |
let filename = format!("track_{}.{}", q.id, ext);
|
| 1074 |
|
| 1075 |
// Загружаем в Telegram через отдельный клиент.
|
| 1076 |
-
//
|
| 1077 |
-
//
|
| 1078 |
-
// и принудительно уходим на HTTP/1.1 с короткими ретраями.
|
| 1079 |
let tg_url = format!("https://api.telegram.org/bot{}/sendAudio", bot_token);
|
| 1080 |
let tg_http = reqwest::Client::builder()
|
| 1081 |
.https_only(true)
|
| 1082 |
-
.
|
| 1083 |
-
.
|
|
|
|
| 1084 |
.tcp_keepalive(Duration::from_secs(30))
|
| 1085 |
.build()
|
| 1086 |
.unwrap();
|
|
@@ -1088,7 +1088,7 @@ async fn send_audio(
|
|
| 1088 |
let mut tg_json: Option<serde_json::Value> = None;
|
| 1089 |
let mut last_tg_err: Option<String> = None;
|
| 1090 |
|
| 1091 |
-
for attempt in 1..=
|
| 1092 |
let part = reqwest::multipart::Part::bytes(dec.clone())
|
| 1093 |
.file_name(filename.clone())
|
| 1094 |
.mime_str(mime)
|
|
@@ -1129,8 +1129,8 @@ async fn send_audio(
|
|
| 1129 |
}
|
| 1130 |
}
|
| 1131 |
|
| 1132 |
-
if attempt <
|
| 1133 |
-
tokio::time::sleep(Duration::from_secs(
|
| 1134 |
}
|
| 1135 |
}
|
| 1136 |
|
|
|
|
| 1073 |
let filename = format!("track_{}.{}", q.id, ext);
|
| 1074 |
|
| 1075 |
// Загружаем в Telegram через отдельный клиент.
|
| 1076 |
+
// Если аплоад виснет по сети, важно быстро вернуть ошибку боту,
|
| 1077 |
+
// чтобы он раньше переключился на fallback по URL.
|
|
|
|
| 1078 |
let tg_url = format!("https://api.telegram.org/bot{}/sendAudio", bot_token);
|
| 1079 |
let tg_http = reqwest::Client::builder()
|
| 1080 |
.https_only(true)
|
| 1081 |
+
.http1_only()
|
| 1082 |
+
.connect_timeout(Duration::from_secs(8))
|
| 1083 |
+
.timeout(Duration::from_secs(18))
|
| 1084 |
.tcp_keepalive(Duration::from_secs(30))
|
| 1085 |
.build()
|
| 1086 |
.unwrap();
|
|
|
|
| 1088 |
let mut tg_json: Option<serde_json::Value> = None;
|
| 1089 |
let mut last_tg_err: Option<String> = None;
|
| 1090 |
|
| 1091 |
+
for attempt in 1..=2u8 {
|
| 1092 |
let part = reqwest::multipart::Part::bytes(dec.clone())
|
| 1093 |
.file_name(filename.clone())
|
| 1094 |
.mime_str(mime)
|
|
|
|
| 1129 |
}
|
| 1130 |
}
|
| 1131 |
|
| 1132 |
+
if attempt < 2 {
|
| 1133 |
+
tokio::time::sleep(Duration::from_secs(1)).await;
|
| 1134 |
}
|
| 1135 |
}
|
| 1136 |
|