mirror of
https://github.com/coder/coder.git
synced 2026-06-02 20:48:20 +00:00
feat: automatically stop workspaces based on failure_ttl (#7989)
This commit is contained in:
@@ -405,13 +405,15 @@ SELECT
|
||||
stopped_workspaces.count AS stopped_workspaces
|
||||
FROM pending_workspaces, building_workspaces, running_workspaces, failed_workspaces, stopped_workspaces;
|
||||
|
||||
-- name: GetWorkspacesEligibleForAutoStartStop :many
|
||||
-- name: GetWorkspacesEligibleForTransition :many
|
||||
SELECT
|
||||
workspaces.*
|
||||
FROM
|
||||
workspaces
|
||||
LEFT JOIN
|
||||
workspace_builds ON workspace_builds.workspace_id = workspaces.id
|
||||
INNER JOIN
|
||||
provisioner_jobs ON workspace_builds.job_id = provisioner_jobs.id
|
||||
WHERE
|
||||
workspace_builds.build_number = (
|
||||
SELECT
|
||||
@@ -441,5 +443,13 @@ WHERE
|
||||
(
|
||||
workspace_builds.transition = 'stop'::workspace_transition AND
|
||||
workspaces.autostart_schedule IS NOT NULL
|
||||
) OR
|
||||
|
||||
-- If the workspace's most recent job resulted in an error
|
||||
-- it may be eligible for failed stop.
|
||||
(
|
||||
provisioner_jobs.error IS NOT NULL AND
|
||||
provisioner_jobs.error != '' AND
|
||||
workspace_builds.transition = 'start'::workspace_transition
|
||||
)
|
||||
);
|
||||
) AND workspaces.deleted = 'false';
|
||||
|
||||
Reference in New Issue
Block a user