- ProcessManager 新增 has_instance_process(备份启动守卫依赖) - 删除/启动/编辑/迁移目录时接入备份维护钩子(lock_instance_maintenance + begin_instance_deletion + delete_instance_backups),remove_instance 拆出 remove_instance_files_and_state - run 启动前检查活跃备份操作并加维护锁 - 目录迁移时搬移默认备份仓库并入队清理 - 更新 settings SELECT 的 SQLX 离线缓存(补 ui_font/backup_repository_path/mono_font) - create_recorded_symlink 非 Windows 未用参数加 cfg_attr 豁免
This commit is contained in:
1 parent
4674f31dd3
commit
996044bdc2
7 files changed
+95
-4
No files matched your search
@@ -75,6 +75,15 @@ async fn run_with_extra_launch_args_inner(
|
||||
extra_launch_args: Option<Vec<String>>,
|
||||
gc_intent: Option<GcLaunchIntent>,
|
||||
) -> crate::Result<(ProcessMetadata, Option<GcLaunchReport>)> {
|
||||
if crate::api::instance::has_active_instance_operation(instance_id) {
|
||||
return Err(crate::ErrorKind::InputError(
|
||||
"Wait for the active backup operation to finish before launching this instance"
|
||||
.to_string(),
|
||||
)
|
||||
.into());
|
||||
}
|
||||
let _maintenance_guard =
|
||||
crate::api::instance::lock_instance_maintenance(instance_id).await;
|
||||
let _hosted_guard =
|
||||
crate::pack::hosted::prepare_launch(instance_id, offline_mode).await?;
|
||||
let state = State::get().await?;
|
||||
|
||||
Reference in new issue
Block a user