mirror of
https://git.proxmox.com/git/proxmox-backup
synced 2025-08-12 09:48:03 +00:00
proxy: scheduler: move fallback inside next_minute fn, drops result from return
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
This commit is contained in:
parent
ffe7f58191
commit
37f9b8cc09
@ -513,11 +513,17 @@ fn start_traffic_control_updater() {
|
|||||||
|
|
||||||
use std::time::{Duration, Instant, SystemTime, UNIX_EPOCH};
|
use std::time::{Duration, Instant, SystemTime, UNIX_EPOCH};
|
||||||
|
|
||||||
fn next_minute() -> Result<Instant, Error> {
|
fn next_minute() -> Instant {
|
||||||
let now = SystemTime::now();
|
let now = SystemTime::now();
|
||||||
let epoch_now = now.duration_since(UNIX_EPOCH)?;
|
let epoch_now = match now.duration_since(UNIX_EPOCH) {
|
||||||
|
Ok(d) => d,
|
||||||
|
Err(err) => {
|
||||||
|
eprintln!("task scheduler: compute next minute alignment failed - {err}");
|
||||||
|
return Instant::now() + Duration::from_secs(60);
|
||||||
|
}
|
||||||
|
};
|
||||||
let epoch_next = Duration::from_secs((epoch_now.as_secs() / 60 + 1) * 60);
|
let epoch_next = Duration::from_secs((epoch_now.as_secs() / 60 + 1) * 60);
|
||||||
Ok(Instant::now() + epoch_next - epoch_now)
|
Instant::now() + epoch_next - epoch_now
|
||||||
}
|
}
|
||||||
|
|
||||||
async fn run_task_scheduler() {
|
async fn run_task_scheduler() {
|
||||||
@ -526,18 +532,7 @@ async fn run_task_scheduler() {
|
|||||||
loop {
|
loop {
|
||||||
count += 1;
|
count += 1;
|
||||||
|
|
||||||
let delay_target = match next_minute() {
|
let delay_target = next_minute();
|
||||||
// try to run very minute
|
|
||||||
Ok(d) => d,
|
|
||||||
Err(err) => {
|
|
||||||
eprintln!("task scheduler: compute next minute failed - {}", err);
|
|
||||||
tokio::time::sleep_until(tokio::time::Instant::from_std(
|
|
||||||
Instant::now() + Duration::from_secs(60),
|
|
||||||
))
|
|
||||||
.await;
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
if count > 2 {
|
if count > 2 {
|
||||||
// wait 1..2 minutes before starting
|
// wait 1..2 minutes before starting
|
||||||
|
Loading…
Reference in New Issue
Block a user