summaryrefslogtreecommitdiff
path: root/pkg/worker/state.go
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/worker/state.go')
-rwxr-xr-xpkg/worker/state.go111
1 files changed, 0 insertions, 111 deletions
diff --git a/pkg/worker/state.go b/pkg/worker/state.go
deleted file mode 100755
index bf152e8b..00000000
--- a/pkg/worker/state.go
+++ /dev/null
@@ -1,111 +0,0 @@
-package worker
-
-import (
- "sync/atomic"
-)
-
-// SYNC WITH worker_watcher.GET
-const (
- // StateInactive - no associated process
- StateInactive int64 = iota
-
- // StateReady - ready for job.
- StateReady
-
- // StateWorking - working on given payload.
- StateWorking
-
- // StateInvalid - indicates that WorkerProcess is being disabled and will be removed.
- StateInvalid
-
- // StateStopping - process is being softly stopped.
- StateStopping
-
- // StateKilling - process is being forcibly stopped
- StateKilling
-
- // StateDestroyed State of worker, when no need to allocate new one
- StateDestroyed
-
- // StateMaxJobsReached State of worker, when it reached executions limit
- StateMaxJobsReached
-
- // StateStopped - process has been terminated.
- StateStopped
-
- // StateErrored - error StateImpl (can't be used).
- StateErrored
-)
-
-type StateImpl struct {
- value int64
- numExecs uint64
- // to be lightweight, use UnixNano
- lastUsed uint64
-}
-
-// NewWorkerState initializes a state for the sync.Worker
-func NewWorkerState(value int64) *StateImpl {
- return &StateImpl{value: value}
-}
-
-// String returns current StateImpl as string.
-func (s *StateImpl) String() string {
- switch s.Value() {
- case StateInactive:
- return "inactive"
- case StateReady:
- return "ready"
- case StateWorking:
- return "working"
- case StateInvalid:
- return "invalid"
- case StateStopping:
- return "stopping"
- case StateStopped:
- return "stopped"
- case StateKilling:
- return "killing"
- case StateErrored:
- return "errored"
- case StateDestroyed:
- return "destroyed"
- }
-
- return "undefined"
-}
-
-// NumExecs returns number of registered WorkerProcess execs.
-func (s *StateImpl) NumExecs() uint64 {
- return atomic.LoadUint64(&s.numExecs)
-}
-
-// Value StateImpl returns StateImpl value
-func (s *StateImpl) Value() int64 {
- return atomic.LoadInt64(&s.value)
-}
-
-// IsActive returns true if WorkerProcess not Inactive or Stopped
-func (s *StateImpl) IsActive() bool {
- val := s.Value()
- return val == StateWorking || val == StateReady
-}
-
-// Set change StateImpl value (status)
-func (s *StateImpl) Set(value int64) {
- atomic.StoreInt64(&s.value, value)
-}
-
-// RegisterExec register new execution atomically
-func (s *StateImpl) RegisterExec() {
- atomic.AddUint64(&s.numExecs, 1)
-}
-
-// SetLastUsed Update last used time
-func (s *StateImpl) SetLastUsed(lu uint64) {
- atomic.StoreUint64(&s.lastUsed, lu)
-}
-
-func (s *StateImpl) LastUsed() uint64 {
- return atomic.LoadUint64(&s.lastUsed)
-}