更新重试器

This commit is contained in:
2026-02-23 21:26:48 +08:00
parent ac94ffc30f
commit c6722645d2
4 changed files with 134 additions and 34 deletions

View File

@ -2,6 +2,8 @@ use std::{collections::HashSet, time::Duration};
use clap::{Parser};
use config::{Config, ConfigError, Environment};
use reqwest_middleware::ClientBuilder;
use reqwest_retry::{RetryTransientMiddleware, policies::ExponentialBackoff};
use serde::Deserialize;
use tokio::time::interval;
@ -59,8 +61,8 @@ async fn task(settings: &Settings) -> anyhow::Result<()> {
available += davailable;
}
let report = ((available >> 20) * 10) >> 10;
tracing::info!(report = report, "获取剩余硬盘空间(单位 .1GB");
let report = ((available >> 20) * 100) >> 10;
tracing::info!(report = report, "获取剩余硬盘空间(单位 .01GB");
if settings.server_url.is_empty() {
tracing::warn!("没有配置服务器地址,不会上报给服务端");
@ -72,9 +74,14 @@ async fn task(settings: &Settings) -> anyhow::Result<()> {
("ping", &_rep),
];
let retry_policy = ExponentialBackoff::builder().build_with_max_retries(3);
let client = ClientBuilder::new(reqwest::Client::new())
.with(RetryTransientMiddleware::new_with_policy(retry_policy))
.build();
let url = reqwest::Url::parse_with_params(&settings.server_url, &params)?;
let urls: String = url.clone().into();
let resp = reqwest::get(url).await?.text().await?;
let resp = client.get(url).send().await?.text().await?;
tracing::info!(url=urls, resp=resp, "上报了硬盘可用空间");
}