mirror of
https://git.proxmox.com/git/proxmox-backup
synced 2025-04-28 16:58:16 +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::{io::AsyncChannelWriter, stream::AsyncReaderStream};
|
||||
use proxmox_compression::zstd::ZstdEncoder;
|
||||
use proxmox_log::LogContext;
|
||||
use proxmox_router::{
|
||||
http_err, list_subdirs_api_method, ApiHandler, ApiMethod, ApiResponseFuture, Permission,
|
||||
Router, RpcEnvironment, RpcEnvironmentType, SubdirMap,
|
||||
@ -1112,9 +1113,13 @@ pub fn prune(
|
||||
)?;
|
||||
Ok(json!(upid))
|
||||
} else {
|
||||
let (worker, _) = WorkerTask::new("prune", Some(worker_id), auth_id.to_string(), true)?;
|
||||
let result = prune_group(worker.clone());
|
||||
worker.log_result(&Ok(()));
|
||||
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());
|
||||
worker.log_result(&Ok(()));
|
||||
result
|
||||
});
|
||||
Ok(json!(result))
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user