2022-05-19 17:25:53 +02:00

27 lines
862 B
Go

package task_state_machine
import "git.blender.org/flamenco/pkg/api"
var (
// Task statuses that always get requeued when the job is requeueing.
nonCompletedStatuses = []api.TaskStatus{
api.TaskStatusCanceled,
api.TaskStatusFailed,
api.TaskStatusPaused,
api.TaskStatusSoftFailed,
}
// Workers are allowed to keep running tasks when they are in this status.
// 'queued', 'claimed-by-manager', and 'soft-failed' aren't considered runnable,
// as those statuses indicate the task wasn't assigned to a Worker by the scheduler.
runnableStatuses = map[api.TaskStatus]bool{
api.TaskStatusActive: true,
}
)
// IsRunnableTaskStatus returns whether the given status is considered "runnable".
// In other words, workers are allowed to keep running such tasks.
func IsRunnableTaskStatus(status api.TaskStatus) bool {
return runnableStatuses[status]
}