summaryrefslogtreecommitdiff
path: root/events/events.go
blob: 5a417e7fb09a1a7e2be25a26064005a45f39d87c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
package events

type EventType uint32

const (
	// EventWorkerConstruct thrown when new worker is spawned.
	EventWorkerConstruct EventType = iota
	// EventWorkerDestruct thrown after worker destruction.
	EventWorkerDestruct
	// EventSupervisorError triggered when supervisor can not complete work.
	EventSupervisorError
	// EventWorkerProcessExit triggered on process wait exit
	EventWorkerProcessExit
	// EventNoFreeWorkers triggered when there are no free workers in the stack and timeout for worker allocate elapsed
	EventNoFreeWorkers
	// EventMaxMemory caused when worker consumes more memory than allowed.
	EventMaxMemory
	// EventTTL thrown when worker is removed due TTL being reached. TTL defines maximum time worker is allowed to live (seconds)
	EventTTL
	// EventIdleTTL triggered when worker spends too much time at rest.
	EventIdleTTL
	// EventExecTTL triggered when worker spends too much time doing the task (max_execution_time).
	EventExecTTL
	// EventPoolRestart triggered when pool restart is needed
	EventPoolRestart
	// EventWorkerError triggered after WorkerProcess. Except payload to be error.
	EventWorkerError
	// EventWorkerLog triggered on every write to WorkerProcess StdErr pipe (batched). Except payload to be []byte string.
	EventWorkerLog
	// EventWorkerStderr is the worker standard error output
	EventWorkerStderr
	// EventWorkerWaitExit is the worker exit event
	EventWorkerWaitExit
)

func (et EventType) String() string {
	switch et {
	case EventWorkerProcessExit:
		return "EventWorkerProcessExit"
	case EventWorkerConstruct:
		return "EventWorkerConstruct"
	case EventWorkerDestruct:
		return "EventWorkerDestruct"
	case EventSupervisorError:
		return "EventSupervisorError"
	case EventNoFreeWorkers:
		return "EventNoFreeWorkers"
	case EventMaxMemory:
		return "EventMaxMemory"
	case EventTTL:
		return "EventTTL"
	case EventIdleTTL:
		return "EventIdleTTL"
	case EventExecTTL:
		return "EventExecTTL"
	case EventPoolRestart:
		return "EventPoolRestart"
	case EventWorkerError:
		return "EventWorkerError"
	case EventWorkerLog:
		return "EventWorkerLog"
	case EventWorkerStderr:
		return "EventWorkerStderr"
	case EventWorkerWaitExit:
		return "EventWorkerWaitExit"

	default:
		return "UnknownEventType"
	}
}