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:
Dominik Csapak 2020-11-02 12:34:39 +01:00 committed by Thomas Lamprecht
parent 4fdf5ddf5b
commit b6ba5acd29
1 changed files with 5 additions and 16 deletions

View File

@ -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;
}
} }
}; };