Skip to content

Commit d2f4e01

Browse files
committed
dbmem
1 parent d3ae1c3 commit d2f4e01

File tree

1 file changed

+29
-15
lines changed

1 file changed

+29
-15
lines changed

coderd/database/dbmem/dbmem.go

Lines changed: 29 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3815,36 +3815,50 @@ func (q *FakeQuerier) GetProvisionerDaemonsWithStatusByOrganization(ctx context.
38153815
}
38163816

38173817
var status database.ProvisionerDaemonStatus
3818-
if daemon.LastSeenAt.Valid || daemon.LastSeenAt.Time.Before(time.Now().Add(-time.Duration(arg.StaleIntervalMS)*time.Millisecond)) {
3818+
if !daemon.LastSeenAt.Valid || daemon.LastSeenAt.Time.Before(time.Now().Add(-time.Duration(arg.StaleIntervalMS)*time.Millisecond)) {
38193819
status = database.ProvisionerDaemonStatusOffline
38203820
} else {
3821+
var currentJob *database.ProvisionerJob
38213822
for _, job := range q.provisionerJobs {
3822-
if job.WorkerID.Valid && job.WorkerID.UUID == daemon.ID {
3823-
if !job.CompletedAt.Valid {
3824-
status = database.ProvisionerDaemonStatusIdle
3825-
} else {
3826-
status = database.ProvisionerDaemonStatusBusy
3827-
}
3823+
if job.WorkerID.Valid && job.WorkerID.UUID == daemon.ID && !job.CompletedAt.Valid {
3824+
currentJob = &job
38283825
break
38293826
}
38303827
}
3828+
3829+
if currentJob != nil {
3830+
status = database.ProvisionerDaemonStatusBusy
3831+
} else {
3832+
status = database.ProvisionerDaemonStatusIdle
3833+
}
38313834
}
38323835

38333836
var currentJob, previousJob database.ProvisionerJob
38343837
for _, job := range q.provisionerJobs {
3835-
if job.WorkerID.Valid && job.WorkerID.UUID == daemon.ID {
3836-
if currentJob.ID == uuid.Nil || !job.CompletedAt.Valid {
3837-
currentJob = job
3838-
}
3839-
if job.CompletedAt.Valid && job.CompletedAt.Time.After(previousJob.CompletedAt.Time) {
3840-
previousJob = job
3841-
}
3838+
if job.WorkerID.Valid && job.WorkerID.UUID != daemon.ID {
3839+
continue
3840+
}
3841+
3842+
if !job.CompletedAt.Valid {
3843+
currentJob = job
3844+
} else if job.CompletedAt.Time.After(previousJob.CompletedAt.Time) {
3845+
previousJob = job
3846+
}
3847+
}
3848+
3849+
// Get the provisioner key name
3850+
var keyName string
3851+
for _, key := range q.provisionerKeys {
3852+
if key.ID == daemon.KeyID {
3853+
keyName = key.Name
3854+
break
38423855
}
38433856
}
38443857

38453858
rows = append(rows, database.GetProvisionerDaemonsWithStatusByOrganizationRow{
38463859
ProvisionerDaemon: daemon,
38473860
Status: status,
3861+
KeyName: keyName,
38483862
CurrentJobID: uuid.NullUUID{UUID: currentJob.ID, Valid: currentJob.ID != uuid.Nil},
38493863
CurrentJobStatus: database.NullProvisionerJobStatus{ProvisionerJobStatus: currentJob.JobStatus, Valid: currentJob.ID != uuid.Nil},
38503864
PreviousJobID: uuid.NullUUID{UUID: previousJob.ID, Valid: previousJob.ID != uuid.Nil},
@@ -4009,7 +4023,7 @@ func (q *FakeQuerier) GetProvisionerJobsByOrganizationAndStatusWithQueuePosition
40094023
defer q.mutex.RUnlock()
40104024

40114025
/*
4012-
-- name: GetProvisionerJobsByOrganizationAndStatusWithQueuePositionAndProvisioner :many
4026+
-- name: GetProvisionerJobsByOrganizationAndStatusWithQueuePositionAndProvisioner :many
40134027
WITH unstarted_jobs AS (
40144028
SELECT
40154029
id, created_at

0 commit comments

Comments
 (0)