diff --git a/apps/api/src/workers/pr-watcher-worker.ts b/apps/api/src/workers/pr-watcher-worker.ts index 6d7c7c18..836fa951 100644 --- a/apps/api/src/workers/pr-watcher-worker.ts +++ b/apps/api/src/workers/pr-watcher-worker.ts @@ -96,7 +96,7 @@ export function startPrWatcherWorker() { .select() .from(tasks) .where( - sql`${tasks.state} IN ('pr_opened', 'failed') AND ${tasks.prUrl} IS NOT NULL AND (${tasks.taskType} = 'coding' OR ${tasks.taskType} IS NULL)`, + sql`${tasks.state} IN ('pr_opened', 'failed') AND ${tasks.prUrl} IS NOT NULL AND (${tasks.prState} IS NULL OR ${tasks.prState} = 'open') AND (${tasks.taskType} = 'coding' OR ${tasks.taskType} IS NULL)`, ); for (const task of openPrTasks) { diff --git a/apps/api/src/workers/reconcile-worker.ts b/apps/api/src/workers/reconcile-worker.ts index baf2eafd..4d79a8f3 100644 --- a/apps/api/src/workers/reconcile-worker.ts +++ b/apps/api/src/workers/reconcile-worker.ts @@ -118,7 +118,7 @@ export function startReconcileResyncWorker() { const nonTerminalTasks = await db .select({ id: tasks.id }) .from(tasks) - .where(sql`${tasks.state} NOT IN ('completed')`); + .where(sql`${tasks.state} NOT IN ('completed', 'cancelled', 'failed')`); const nonTerminalRuns = await db .select({ id: workflowRuns.id }) diff --git a/helm/optio/values.yaml b/helm/optio/values.yaml index eef3fc0c..b583f6dd 100644 --- a/helm/optio/values.yaml +++ b/helm/optio/values.yaml @@ -32,6 +32,7 @@ api: memory: 1Gi env: LOG_LEVEL: info + OPTIO_PR_WATCH_INTERVAL: "120000" # Pod anti-affinity spreads API replicas across nodes. # "soft" = preferredDuringSchedulingIgnoredDuringExecution (default) # "hard" = requiredDuringSchedulingIgnoredDuringExecution