fix: optimize async handler usage in singleton checks and resource initialization #4576, #4590, #4609

This commit is contained in:
Tunglies
2025-09-02 13:37:05 +08:00
parent 45ddb15d56
commit d2b38a8a3c
4 changed files with 6 additions and 13 deletions

View File

@@ -35,7 +35,7 @@ mod app_init {
/// Initialize singleton monitoring for other instances
pub fn init_singleton_check() {
AsyncHandler::spawn(move || async move {
AsyncHandler::spawn_blocking(move || async move {
logging!(info, Type::Setup, true, "开始检查单例实例...");
match timeout(Duration::from_millis(500), server::check_singleton()).await {
Ok(result) => {
@@ -94,7 +94,7 @@ mod app_init {
app.deep_link().on_open_url(|event| {
let url = event.urls().first().map(|u| u.to_string());
if let Some(url) = url {
tokio::task::spawn_local(async move {
AsyncHandler::spawn(|| async {
if let Err(e) = resolve::resolve_scheme(url).await {
logging!(error, Type::Setup, true, "Failed to resolve scheme: {}", e);
}
@@ -331,9 +331,8 @@ pub fn run() {
logging!(info, Type::Setup, true, "执行主要设置操作...");
logging!(info, Type::Setup, true, "异步执行应用设置...");
resolve::resolve_setup_sync(app_handle);
resolve::resolve_setup_async();
resolve::resolve_setup_sync(app_handle);
logging!(info, Type::Setup, true, "初始化完成,继续执行");
Ok(())

View File

@@ -445,14 +445,6 @@ pub async fn init_resources() -> Result<()> {
(Ok(src_modified), Ok(dest_modified)) => {
if src_modified > dest_modified {
handle_copy(src_path.clone(), dest_path.clone(), file.to_string()).await;
} else {
logging!(
debug,
Type::Setup,
true,
"skipping resource copy '{}'",
file
);
}
}
_ => {

View File

@@ -44,7 +44,7 @@ pub async fn check_singleton() -> Result<()> {
pub fn embed_server() {
let port = IVerge::get_singleton_port();
AsyncHandler::spawn_blocking(move || async move {
AsyncHandler::spawn(move || async move {
let visible = warp::path!("commands" / "visible").and_then(|| async {
Ok::<_, warp::Rejection>(warp::reply::with_status(
"ok".to_string(),