mirror of
https://git.proxmox.com/git/proxmox-backup
synced 2025-04-30 16:14:00 +00:00
api: datastore: add missing log context for prune
Adds the missing log context for cases were a prune is not executed as
dedicated tokio task.
Commit 432de66a
("api: make prune-group a real workertask") moved the
prune group logic into it's own tokio task conditionally.
However, the log context was missing for cases where no dedicated
task/thread is started, leading to the worker task state being
unknown after finish, as no logs are written to the worker task log
file.
Reported in the community forum:
https://forum.proxmox.com/threads/161273/
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
Reviewed-by: Gabriel Goller <g.goller@proxmox.com
This commit is contained in:
parent
1f24167b4d
commit
ce8d56a3b5
@ -19,6 +19,7 @@ use tracing::{info, warn};
|
|||||||
use proxmox_async::blocking::WrappedReaderStream;
|
use proxmox_async::blocking::WrappedReaderStream;
|
||||||
use proxmox_async::{io::AsyncChannelWriter, stream::AsyncReaderStream};
|
use proxmox_async::{io::AsyncChannelWriter, stream::AsyncReaderStream};
|
||||||
use proxmox_compression::zstd::ZstdEncoder;
|
use proxmox_compression::zstd::ZstdEncoder;
|
||||||
|
use proxmox_log::LogContext;
|
||||||
use proxmox_router::{
|
use proxmox_router::{
|
||||||
http_err, list_subdirs_api_method, ApiHandler, ApiMethod, ApiResponseFuture, Permission,
|
http_err, list_subdirs_api_method, ApiHandler, ApiMethod, ApiResponseFuture, Permission,
|
||||||
Router, RpcEnvironment, RpcEnvironmentType, SubdirMap,
|
Router, RpcEnvironment, RpcEnvironmentType, SubdirMap,
|
||||||
@ -1112,9 +1113,13 @@ pub fn prune(
|
|||||||
)?;
|
)?;
|
||||||
Ok(json!(upid))
|
Ok(json!(upid))
|
||||||
} else {
|
} else {
|
||||||
let (worker, _) = WorkerTask::new("prune", Some(worker_id), auth_id.to_string(), true)?;
|
let (worker, logger) =
|
||||||
|
WorkerTask::new("prune", Some(worker_id), auth_id.to_string(), true)?;
|
||||||
|
let result = LogContext::new(logger).sync_scope(|| {
|
||||||
let result = prune_group(worker.clone());
|
let result = prune_group(worker.clone());
|
||||||
worker.log_result(&Ok(()));
|
worker.log_result(&Ok(()));
|
||||||
|
result
|
||||||
|
});
|
||||||
Ok(json!(result))
|
Ok(json!(result))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user