From 043d7ee446f3192ac947b10b51df8962fe4e2d64 Mon Sep 17 00:00:00 2001 From: Cheikh Seck Date: Sun, 19 Apr 2026 02:03:59 +0000 Subject: [PATCH] Refactor scheduler struct for improved readability and consistency --- internal/scheduler/scheduler.go | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/internal/scheduler/scheduler.go b/internal/scheduler/scheduler.go index 9526cb3..74b14ff 100644 --- a/internal/scheduler/scheduler.go +++ b/internal/scheduler/scheduler.go @@ -37,20 +37,20 @@ type ScheduledTask struct { } type Scheduler struct { - db *sql.DB - tasks map[string]*ScheduledTask - taskMu sync.RWMutex - running map[string]context.CancelFunc - runMu sync.RWMutex - stopCh chan struct{} - wg sync.WaitGroup - provider ProviderGetter - servers []ToolServer + db *sql.DB + tasks map[string]*ScheduledTask + taskMu sync.RWMutex + running map[string]context.CancelFunc + runMu sync.RWMutex + stopCh chan struct{} + wg sync.WaitGroup + provider ProviderGetter + servers []ToolServer onTaskFinished func(*ScheduledTask) - maxRounds int - toolTimeout int - wd string - os string + maxRounds int + toolTimeout int + wd string + os string } type ProviderGetter interface { @@ -201,8 +201,8 @@ func (s *Scheduler) loadTasks() error { var task ScheduledTask var ( lastRun, createdAt, runAt, lastOutput sql.NullString - workingDir sql.NullString - isRepeatingInt sql.NullInt64 + workingDir sql.NullString + isRepeatingInt sql.NullInt64 ) err := rows.Scan( &task.ID, &task.Prompt, &task.IntervalSec, &runAt, &isRepeatingInt, &workingDir, @@ -545,7 +545,7 @@ func (s *Scheduler) executeWithTools(ctx context.Context, task *ScheduledTask) ( if !isToolCallResponse || len(toolCalls) == 0 { if !hasFinal { - if !s.looksLikeToolCall(resp) { + if !s.looksLikeToolCall(resp) && round > 0 { return resp, nil } if strings.TrimSpace(resp) != "" && prevNoTool {