@@ -894,30 +894,44 @@ func (mm *ModuleManager) HandleScheduleEvent(
894
894
}
895
895
896
896
func (mm * ModuleManager ) CreateTasksByBinding (binding BindingType , createTasksFunc func (gh * hooks.GlobalHook , m * modules.BasicModule , mh * hooks.ModuleHook ) []sh_task.Task ) []sh_task.Task {
897
- globalHooks := mm . GetGlobalHooksInOrder ( binding )
897
+ var allTasks []sh_task. Task
898
898
899
- tasks := make ([]sh_task.Task , 0 )
900
- for _ , hookName := range globalHooks {
899
+ // Process global hooks
900
+ allTasks = append (allTasks , mm .createTasksFromGlobalHooks (binding , createTasksFunc )... )
901
+
902
+ // Process module hooks for enabled modules
903
+ allTasks = append (allTasks , mm .createTasksFromModuleHooks (binding , createTasksFunc )... )
904
+
905
+ return allTasks
906
+ }
907
+
908
+ // createTasksFromGlobalHooks processes all global hooks for a given binding type
909
+ func (mm * ModuleManager ) createTasksFromGlobalHooks (binding BindingType , createTasksFunc func (gh * hooks.GlobalHook , m * modules.BasicModule , mh * hooks.ModuleHook ) []sh_task.Task ) []sh_task.Task {
910
+ var tasks []sh_task.Task
911
+
912
+ for _ , hookName := range mm .GetGlobalHooksInOrder (binding ) {
901
913
gh := mm .GetGlobalHook (hookName )
902
- newTasks := createTasksFunc (gh , nil , nil )
903
- if len (newTasks ) > 0 {
914
+ if newTasks := createTasksFunc (gh , nil , nil ); len (newTasks ) > 0 {
904
915
tasks = append (tasks , newTasks ... )
905
916
}
906
917
}
907
918
908
- mods := mm .moduleScheduler .GetEnabledModuleNames ()
919
+ return tasks
920
+ }
921
+
922
+ // createTasksFromModuleHooks processes all module hooks for enabled modules and a given binding type
923
+ func (mm * ModuleManager ) createTasksFromModuleHooks (binding BindingType , createTasksFunc func (gh * hooks.GlobalHook , m * modules.BasicModule , mh * hooks.ModuleHook ) []sh_task.Task ) []sh_task.Task {
924
+ var tasks []sh_task.Task
909
925
910
- for _ , moduleName := range mods {
911
- m := mm .GetModule (moduleName )
912
- // skip module if its hooks don't have hook controllers set
913
- if ! m .HooksControllersReady () {
926
+ for _ , moduleName := range mm . moduleScheduler . GetEnabledModuleNames () {
927
+ module := mm .GetModule (moduleName )
928
+ // Skip module if its hooks don't have hook controllers set
929
+ if ! module .HooksControllersReady () {
914
930
continue
915
931
}
916
932
917
- moduleHooks := m .GetHooks (binding )
918
- for _ , mh := range moduleHooks {
919
- newTasks := createTasksFunc (nil , m , mh )
920
- if len (newTasks ) > 0 {
933
+ for _ , moduleHook := range module .GetHooks (binding ) {
934
+ if newTasks := createTasksFunc (nil , module , moduleHook ); len (newTasks ) > 0 {
921
935
tasks = append (tasks , newTasks ... )
922
936
}
923
937
}
0 commit comments