Before this change, upon the completion of a job run, the scheduler would update a job_run entry with the completed status as well as the number of objects affected by the run. Additionally, we then had a cleaner job whose scope was deleting these completed entries from job_run. This commit changes this design to drop the cleaner job the and rolls its functionality directly into the scheduler. Now, when any given job run is complete, the scheduler will automatically delete it from the job_run table itself. In addition, the completed status has been removed as a valid status as it is not set anymore. This change follows a decision that given the data in these job_run entries is already being deleted by the cleaner job, updating its state when a job completes just to have it deleted is not efficient. Additionally, no use-case for this data was surfaced.
23 lines
516 B
Go
23 lines
516 B
Go
// Copyright (c) HashiCorp, Inc.
|
|
// SPDX-License-Identifier: BUSL-1.1
|
|
|
|
package job
|
|
|
|
type Status string
|
|
|
|
const (
|
|
// Running represents that the job run is actively running on a server
|
|
Running Status = "running"
|
|
|
|
// Failed represent that the job run had an error during execution
|
|
Failed Status = "failed"
|
|
|
|
// Interrupted represents that the job run was interrupted by a server
|
|
// other than the server running the job.
|
|
Interrupted Status = "interrupted"
|
|
)
|
|
|
|
func (s Status) string() string {
|
|
return string(s)
|
|
}
|