fix(backend): remove nested tokio block_on in cancel commands
This commit is contained in:
parent
b6e31f9312
commit
aea8d0b73b
2 changed files with 10 additions and 6 deletions
|
|
@ -3,7 +3,6 @@ use crate::models::ticket::ProcessedTicket;
|
||||||
use crate::models::worktree::Worktree;
|
use crate::models::worktree::Worktree;
|
||||||
use crate::AppState;
|
use crate::AppState;
|
||||||
use serde::Serialize;
|
use serde::Serialize;
|
||||||
use tauri::async_runtime;
|
|
||||||
use tauri::State;
|
use tauri::State;
|
||||||
|
|
||||||
#[derive(Debug, Clone, Serialize)]
|
#[derive(Debug, Clone, Serialize)]
|
||||||
|
|
@ -58,7 +57,10 @@ pub fn retry_ticket(state: State<'_, AppState>, ticket_id: String) -> Result<(),
|
||||||
}
|
}
|
||||||
|
|
||||||
#[tauri::command]
|
#[tauri::command]
|
||||||
pub fn cancel_ticket(state: State<'_, AppState>, ticket_id: String) -> Result<(), AppError> {
|
pub async fn cancel_ticket(
|
||||||
|
state: State<'_, AppState>,
|
||||||
|
ticket_id: String,
|
||||||
|
) -> Result<(), AppError> {
|
||||||
{
|
{
|
||||||
let conn = state.db.lock().map_err(|e| AppError::from(e.to_string()))?;
|
let conn = state.db.lock().map_err(|e| AppError::from(e.to_string()))?;
|
||||||
let ticket = ProcessedTicket::get_by_id(&conn, &ticket_id)?;
|
let ticket = ProcessedTicket::get_by_id(&conn, &ticket_id)?;
|
||||||
|
|
@ -71,7 +73,7 @@ pub fn cancel_ticket(state: State<'_, AppState>, ticket_id: String) -> Result<()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async_runtime::block_on(state.process_registry.cancel_ticket(&ticket_id));
|
state.process_registry.cancel_ticket(&ticket_id).await;
|
||||||
|
|
||||||
let conn = state.db.lock().map_err(|e| AppError::from(e.to_string()))?;
|
let conn = state.db.lock().map_err(|e| AppError::from(e.to_string()))?;
|
||||||
let ticket = ProcessedTicket::get_by_id(&conn, &ticket_id)?;
|
let ticket = ProcessedTicket::get_by_id(&conn, &ticket_id)?;
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,6 @@ use crate::models::agent_task::AgentTask;
|
||||||
use crate::models::module::{ProjectModule, MODULE_AGENT_TASK_RUNNER};
|
use crate::models::module::{ProjectModule, MODULE_AGENT_TASK_RUNNER};
|
||||||
use crate::models::project::Project;
|
use crate::models::project::Project;
|
||||||
use crate::AppState;
|
use crate::AppState;
|
||||||
use tauri::async_runtime;
|
|
||||||
use tauri::State;
|
use tauri::State;
|
||||||
|
|
||||||
#[tauri::command]
|
#[tauri::command]
|
||||||
|
|
@ -87,7 +86,10 @@ pub fn retry_agent_task(state: State<'_, AppState>, task_id: String) -> Result<(
|
||||||
}
|
}
|
||||||
|
|
||||||
#[tauri::command]
|
#[tauri::command]
|
||||||
pub fn cancel_agent_task(state: State<'_, AppState>, task_id: String) -> Result<(), AppError> {
|
pub async fn cancel_agent_task(
|
||||||
|
state: State<'_, AppState>,
|
||||||
|
task_id: String,
|
||||||
|
) -> Result<(), AppError> {
|
||||||
{
|
{
|
||||||
let db = state
|
let db = state
|
||||||
.db
|
.db
|
||||||
|
|
@ -103,7 +105,7 @@ pub fn cancel_agent_task(state: State<'_, AppState>, task_id: String) -> Result<
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async_runtime::block_on(state.process_registry.cancel_task(&task_id));
|
state.process_registry.cancel_task(&task_id).await;
|
||||||
|
|
||||||
let db = state
|
let db = state
|
||||||
.db
|
.db
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue