github.com/filecoin-project/bacalhau@v0.3.23-0.20230228154132-45c989550ace/pkg/compute/store/state.go (about)

     1  package store
     2  
     3  type ExecutionState int
     4  
     5  const (
     6  	ExecutionStateUndefined ExecutionState = iota
     7  	ExecutionStateCreated
     8  	ExecutionStateBidAccepted
     9  	ExecutionStateRunning
    10  	ExecutionStateWaitingVerification
    11  	ExecutionStateResultAccepted
    12  	ExecutionStatePublishing
    13  	ExecutionStateCompleted
    14  	ExecutionStateFailed
    15  	ExecutionStateCancelled
    16  )
    17  
    18  // IsActive returns true if the execution is active
    19  func (s ExecutionState) IsActive() bool {
    20  	return s == ExecutionStateCreated || s == ExecutionStateBidAccepted || s == ExecutionStateRunning ||
    21  		s == ExecutionStateWaitingVerification || s == ExecutionStateResultAccepted || s == ExecutionStatePublishing
    22  }
    23  
    24  // IsExecuting returns true if the execution is running in the backend
    25  func (s ExecutionState) IsExecuting() bool {
    26  	return s == ExecutionStateRunning || s == ExecutionStateWaitingVerification ||
    27  		s == ExecutionStateResultAccepted || s == ExecutionStatePublishing
    28  }
    29  
    30  // IsTerminal returns true if the execution is terminal
    31  func (s ExecutionState) IsTerminal() bool {
    32  	return s == ExecutionStateCompleted || s == ExecutionStateFailed || s == ExecutionStateCancelled
    33  }