mirror of
https://github.com/flibusta-apps/book_bot.git
synced 2025-12-06 15:35:35 +01:00
Fix check intervals
This commit is contained in:
@@ -156,21 +156,25 @@ impl BotsManager {
|
|||||||
pub async fn start(running: Arc<AtomicBool>) {
|
pub async fn start(running: Arc<AtomicBool>) {
|
||||||
start_axum_server(running.clone()).await;
|
start_axum_server(running.clone()).await;
|
||||||
|
|
||||||
let mut interval = time::interval(Duration::from_secs(5));
|
let mut interval_1s = time::interval(Duration::from_secs(1));
|
||||||
|
let mut interval_30s = time::interval(Duration::from_secs(30));
|
||||||
|
let mut interval_1m = time::interval(Duration::from_secs(60));
|
||||||
|
|
||||||
loop {
|
loop {
|
||||||
BotsManager::check().await;
|
tokio::select! {
|
||||||
|
_ = interval_1s.tick() => {
|
||||||
for _i in 0..30 {
|
if !running.load(Ordering::SeqCst) {
|
||||||
interval.tick().await;
|
BotsManager::stop_all().await;
|
||||||
|
return;
|
||||||
if !running.load(Ordering::SeqCst) {
|
}
|
||||||
BotsManager::stop_all().await;
|
},
|
||||||
return;
|
_ = interval_30s.tick() => {
|
||||||
};
|
BotsManager::check().await;
|
||||||
|
},
|
||||||
|
_ = interval_1m.tick() => {
|
||||||
|
BotsManager::check_pending_updates().await;
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
BotsManager::check_pending_updates().await;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user