(logger slog.Logger, job database.ProvisionerJob)
| 470 | } |
| 471 | |
| 472 | func jobIsComplete(logger slog.Logger, job database.ProvisionerJob) bool { |
| 473 | status := codersdk.ProvisionerJobStatus(job.JobStatus) |
| 474 | switch status { |
| 475 | case codersdk.ProvisionerJobCanceled: |
| 476 | return true |
| 477 | case codersdk.ProvisionerJobFailed: |
| 478 | return true |
| 479 | case codersdk.ProvisionerJobSucceeded: |
| 480 | return true |
| 481 | case codersdk.ProvisionerJobPending: |
| 482 | return false |
| 483 | case codersdk.ProvisionerJobCanceling: |
| 484 | return false |
| 485 | case codersdk.ProvisionerJobRunning: |
| 486 | return false |
| 487 | default: |
| 488 | logger.Error(context.Background(), |
| 489 | "can't convert the provisioner job status", |
| 490 | slog.F("job_id", job.ID), slog.F("status", status)) |
| 491 | return false |
| 492 | } |
| 493 | } |
| 494 | |
| 495 | type logFollower struct { |
| 496 | ctx context.Context |
no test coverage detected