proxmox-backup-proxy: use only jobstate for garbage_collection schedule
in case the garbage_collection errors out, we never set the in-memory state, so if it failed, the last 'good' starttime was considered for the schedule this could lead to the job running every minute instead of the correct schedule Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
This commit is contained in:
parent
4fdf5ddf5b
commit
b6ba5acd29
|
@ -295,22 +295,11 @@ async fn schedule_datastore_garbage_collection() {
|
||||||
|
|
||||||
let worker_type = "garbage_collection";
|
let worker_type = "garbage_collection";
|
||||||
|
|
||||||
let stat = datastore.last_gc_status();
|
let last = match jobstate::last_run_time(worker_type, &store) {
|
||||||
let last = if let Some(upid_str) = stat.upid {
|
Ok(time) => time,
|
||||||
match upid_str.parse::<UPID>() {
|
Err(err) => {
|
||||||
Ok(upid) => upid.starttime,
|
eprintln!("could not get last run time of {} {}: {}", worker_type, store, err);
|
||||||
Err(err) => {
|
continue;
|
||||||
eprintln!("unable to parse upid '{}' - {}", upid_str, err);
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
match jobstate::last_run_time(worker_type, &store) {
|
|
||||||
Ok(time) => time,
|
|
||||||
Err(err) => {
|
|
||||||
eprintln!("could not get last run time of {} {}: {}", worker_type, store, err);
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue