MCPcopy Create free account
hub / github.com/flant/shell-operator / initAndStartHookQueues

Method initAndStartHookQueues

pkg/shell-operator/operator.go:1043–1073  ·  view source on GitHub ↗

initAndStartHookQueues create all queues defined in hooks

()

Source from the content-addressed store, hash-verified

1041
1042// initAndStartHookQueues create all queues defined in hooks
1043func (op *ShellOperator) initAndStartHookQueues() {
1044 schHooks, _ := op.HookManager.GetHooksInOrder(types.Schedule)
1045 for _, hookName := range schHooks {
1046 h := op.HookManager.GetHook(hookName)
1047 for _, hookBinding := range h.Config.Schedules {
1048 if op.TaskQueues.GetByName(hookBinding.Queue) == nil {
1049 op.TaskQueues.NewNamedQueue(hookBinding.Queue,
1050 op.taskHandler,
1051 queue.WithCompactableTypes(task_metadata.HookRun),
1052 queue.WithLogger(op.logger.With(pkg.LogKeyOperatorComponent, "hookQueue", pkg.LogKeyHook, hookName, pkg.LogKeyQueue, hookBinding.Queue)),
1053 )
1054 op.TaskQueues.GetByName(hookBinding.Queue).Start(op.ctx)
1055 }
1056 }
1057 }
1058
1059 kubeHooks, _ := op.HookManager.GetHooksInOrder(types.OnKubernetesEvent)
1060 for _, hookName := range kubeHooks {
1061 h := op.HookManager.GetHook(hookName)
1062 for _, hookBinding := range h.Config.OnKubernetesEvents {
1063 if op.TaskQueues.GetByName(hookBinding.Queue) == nil {
1064 op.TaskQueues.NewNamedQueue(hookBinding.Queue,
1065 op.taskHandler,
1066 queue.WithCompactableTypes(task_metadata.HookRun),
1067 queue.WithLogger(op.logger.With(pkg.LogKeyOperatorComponent, "hookQueue", pkg.LogKeyHook, hookName, pkg.LogKeyQueue, hookBinding.Queue)),
1068 )
1069 op.TaskQueues.GetByName(hookBinding.Queue).Start(op.ctx)
1070 }
1071 }
1072 }
1073}

Callers 1

StartMethod · 0.95

Calls 7

WithCompactableTypesFunction · 0.92
WithLoggerFunction · 0.92
GetByNameMethod · 0.80
NewNamedQueueMethod · 0.80
GetHooksInOrderMethod · 0.65
GetHookMethod · 0.65
StartMethod · 0.65

Tested by

no test coverage detected