improve logging
All checks were successful
/ upload (release) Successful in 1m42s

This commit is contained in:
pavel 2026-02-11 01:55:13 +01:00
commit b9c6c831c1
3 changed files with 36 additions and 12 deletions

View file

@ -59,6 +59,7 @@ pub async fn execute_agent_run(
goal: String, goal: String,
) -> AppResult<TaskResponse> { ) -> AppResult<TaskResponse> {
let run_id = Uuid::new_v4(); let run_id = Uuid::new_v4();
tracing::info!(%task_id, %run_id, "Starting agent execution run");
let new_run = task_run::ActiveModel { let new_run = task_run::ActiveModel {
id: Set(run_id), id: Set(run_id),
@ -81,12 +82,18 @@ pub async fn execute_agent_run(
)?; )?;
let (logs, answer, status) = match agent.run(config).await { let (logs, answer, status) = match agent.run(config).await {
Ok((logs, answer)) => (logs, answer, "completed".to_string()), Ok((logs, answer)) => {
Err(e) => ( tracing::info!(%task_id, %run_id, "Agent execution completed successfully");
(logs, answer, "completed".to_string())
}
Err(e) => {
tracing::error!(%task_id, %run_id, error = %e, "Agent execution failed");
(
format!("Execution failed: {}", e), format!("Execution failed: {}", e),
None, None,
"failed".to_string(), "failed".to_string(),
), )
}
}; };
let run: task_run::ActiveModel = TaskRun::find_by_id(run_id) let run: task_run::ActiveModel = TaskRun::find_by_id(run_id)

View file

@ -62,6 +62,8 @@ impl Scheduler {
.map_err(|e| AppError::Internal(format!("Failed to add job: {}", e)))?; .map_err(|e| AppError::Internal(format!("Failed to add job: {}", e)))?;
self.tasks_to_jobs.insert(task_id, job_id); self.tasks_to_jobs.insert(task_id, job_id);
tracing::info!(%task_id, %cron_expr, "Added task to scheduler");
Ok(()) Ok(())
} }
@ -71,6 +73,7 @@ impl Scheduler {
.remove(&job_id) .remove(&job_id)
.await .await
.map_err(|e| AppError::Internal(format!("Failed to remove job: {}", e)))?; .map_err(|e| AppError::Internal(format!("Failed to remove job: {}", e)))?;
tracing::info!(%task_id, "Removed task from scheduler");
} }
Ok(()) Ok(())
} }
@ -88,6 +91,8 @@ impl Scheduler {
// Create a new run entry // Create a new run entry
let run_id = Uuid::new_v4(); let run_id = Uuid::new_v4();
tracing::info!(task_id = %task_id, run_id = %run_id, "Starting scheduled task execution");
let run = task_run::ActiveModel { let run = task_run::ActiveModel {
id: Set(run_id), id: Set(run_id),
task_id: Set(task_id), task_id: Set(task_id),
@ -109,12 +114,18 @@ impl Scheduler {
tokio::spawn(async move { tokio::spawn(async move {
let (logs, answer, status) = match agent.run(&config).await { let (logs, answer, status) = match agent.run(&config).await {
Ok((logs, answer)) => (logs, answer, "completed".to_string()), Ok((logs, answer)) => {
Err(e) => ( tracing::info!(task_id = %task_id, run_id = %run_id, "Scheduled task execution completed successfully");
(logs, answer, "completed".to_string())
}
Err(e) => {
tracing::error!(task_id = %task_id, run_id = %run_id, error = %e, "Scheduled task execution failed");
(
format!("Scheduled run failed: {}", e), format!("Scheduled run failed: {}", e),
None, None,
"failed".to_string(), "failed".to_string(),
), )
}
}; };
let run_complete = task_run::ActiveModel { let run_complete = task_run::ActiveModel {

View file

@ -68,6 +68,8 @@ pub async fn create_task(
} }
let task_id = Uuid::new_v4(); let task_id = Uuid::new_v4();
tracing::info!(%task_id, goal = %payload.goal, "Creating new task");
let new_task = crate::entities::task::ActiveModel { let new_task = crate::entities::task::ActiveModel {
id: sea_orm::Set(task_id), id: sea_orm::Set(task_id),
goal: sea_orm::Set(payload.goal), goal: sea_orm::Set(payload.goal),
@ -95,6 +97,8 @@ pub async fn rerun_task(
.await? .await?
.ok_or_else(|| crate::error::AppError::NotFound("Task not found".to_string()))?; .ok_or_else(|| crate::error::AppError::NotFound("Task not found".to_string()))?;
tracing::info!(task_id = %task.id, "Manually triggering task rerun");
tasks::execute_agent_run( tasks::execute_agent_run(
&state.db, &state.db,
&state.scheduler, &state.scheduler,
@ -132,6 +136,8 @@ pub async fn update_task(
.into(); .into();
let mut task = task; let mut task = task;
tracing::info!(task_id = %id, goal = %payload.goal, "Updating task");
task.goal = sea_orm::Set(payload.goal); task.goal = sea_orm::Set(payload.goal);
task.cron = sea_orm::Set(payload.cron.clone()); task.cron = sea_orm::Set(payload.cron.clone());