Skip to content

Commit 59c9c7e

Browse files
committed
improve task status
1 parent f301ba0 commit 59c9c7e

File tree

2 files changed

+33
-20
lines changed

2 files changed

+33
-20
lines changed

coderd/aitasks.go

Lines changed: 28 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -199,28 +199,39 @@ type tasksListResponse struct {
199199
}
200200

201201
func mapTaskStatus(ws codersdk.Workspace) codersdk.TaskStatus {
202-
if ws.LatestAppStatus != nil {
203-
switch ws.LatestAppStatus.State {
204-
case codersdk.WorkspaceAppStatusStateWorking:
205-
return codersdk.TaskStatusWorking
206-
case codersdk.WorkspaceAppStatusStateIdle:
207-
return codersdk.TaskStatusIdle
208-
case codersdk.WorkspaceAppStatusStateComplete:
209-
return codersdk.TaskStatusCompleted
210-
case codersdk.WorkspaceAppStatusStateFailure:
211-
return codersdk.TaskStatusFailed
202+
switch ws.LatestBuild.Status {
203+
case codersdk.WorkspaceStatusPending:
204+
return codersdk.TaskStatusPending
205+
206+
case codersdk.WorkspaceStatusStarting:
207+
return codersdk.TaskStatusStarting
208+
209+
case codersdk.WorkspaceStatusRunning:
210+
if ws.LatestAppStatus != nil {
211+
switch ws.LatestAppStatus.State {
212+
case codersdk.WorkspaceAppStatusStateWorking:
213+
return codersdk.TaskStatusWorking
214+
case codersdk.WorkspaceAppStatusStateIdle:
215+
return codersdk.TaskStatusIdle
216+
case codersdk.WorkspaceAppStatusStateComplete:
217+
return codersdk.TaskStatusCompleted
218+
case codersdk.WorkspaceAppStatusStateFailure:
219+
return codersdk.TaskStatusFailed
220+
}
212221
}
213-
}
222+
return codersdk.TaskStatusStarting
223+
224+
case codersdk.WorkspaceStatusStopping, codersdk.WorkspaceStatusStopped:
225+
return codersdk.TaskStatusStopping
226+
227+
case codersdk.WorkspaceStatusDeleting, codersdk.WorkspaceStatusDeleted:
228+
return codersdk.TaskStatusDeleting
214229

215-
switch ws.LatestBuild.Status {
216-
case codersdk.WorkspaceStatusPending, codersdk.WorkspaceStatusStarting, codersdk.WorkspaceStatusRunning:
217-
return codersdk.TaskStatusWorking
218-
case codersdk.WorkspaceStatusStopping, codersdk.WorkspaceStatusStopped, codersdk.WorkspaceStatusDeleting, codersdk.WorkspaceStatusDeleted:
219-
return codersdk.TaskStatusCompleted
220230
case codersdk.WorkspaceStatusFailed, codersdk.WorkspaceStatusCanceling, codersdk.WorkspaceStatusCanceled:
221231
return codersdk.TaskStatusFailed
232+
222233
default:
223-
return codersdk.TaskStatusWorking
234+
return codersdk.TaskStatusPending
224235
}
225236
}
226237

codersdk/aitasks.go

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -78,10 +78,12 @@ func (c *ExperimentalClient) CreateTask(ctx context.Context, user string, reques
7878
type TaskStatus string
7979

8080
const (
81-
TaskStatusQueued TaskStatus = "queued"
81+
TaskStatusPending TaskStatus = "pending"
82+
TaskStatusStarting TaskStatus = "starting"
83+
TaskStatusStopping TaskStatus = "stopping"
84+
TaskStatusDeleting TaskStatus = "deleting"
8285
TaskStatusWorking TaskStatus = "working"
8386
TaskStatusIdle TaskStatus = "idle"
84-
TaskStatusPaused TaskStatus = "paused"
8587
TaskStatusCompleted TaskStatus = "completed"
8688
TaskStatusFailed TaskStatus = "failed"
8789
)
@@ -105,7 +107,7 @@ type Task struct {
105107
TemplateID uuid.UUID `json:"template_id" format:"uuid"`
106108
WorkspaceID uuid.NullUUID `json:"workspace_id" format:"uuid"`
107109
Prompt string `json:"prompt"`
108-
Status TaskStatus `json:"status" enum:"queued,working,idle,paused,completed,failed"`
110+
Status TaskStatus `json:"status" enum:"pending,starting,stopping,deleting,working,idle,completed,failed"`
109111
CreatedAt time.Time `json:"created_at" format:"date-time"`
110112
UpdatedAt time.Time `json:"updated_at" format:"date-time"`
111113
}

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy