Documentation
¶
Index ¶
Constants ¶
View Source
const ( PriorityIngress = 100 PriorityJobs = 500 PriorityCritical = 1000 )
Some helper priority levels
Variables ¶
View Source
var Shutdown = sync.OnceFunc(func() { logger.Infof("begin shutdown") registryLock.Lock() tasks := shutdownTasks shutdownTasks = nil registryLock.Unlock() sort.SliceStable(tasks, func(i, j int) bool { return tasks[i].Priority < tasks[j].Priority }) for _, task := range tasks { if task.Hook == nil { continue } logger.Infof("shutting down: %s", task.Label) s := time.Now() task.Hook() logger.Infof("shutdown %s completed in %v", task.Label, time.Since(s)) } })
Functions ¶
func AddHook ¶
func AddHook(fn shutdownHook)
Add a hook with the least priority. Least priority hooks are run first.
Prefer AddHookWithPriority()
func AddHookWithPriority ¶ added in v1.0.730
AddHookWithPriority adds a hook with a priority level.
Execution order goes from lowest to highest priority numbers.
func ShutdownAndExit ¶
func WaitForSignal ¶
func WaitForSignal()
Types ¶
type ShutdownTask ¶ added in v1.0.730
Click to show internal directories.
Click to hide internal directories.