parallelmodulerun

package
v1.11.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 1, 2025 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func RegisterTaskHandler

func RegisterTaskHandler(svc TaskDependencies) func(t sh_task.Task, logger *log.Logger) task.Task

RegisterTaskHandler creates a factory function for ParallelModuleRun tasks

Types

type Task

type Task struct {
	// contains filtered or unexported fields
}

Task handles running multiple module tasks in parallel

func NewTask

func NewTask(
	shellTask sh_task.Task,
	moduleManager *module_manager.ModuleManager,
	queueService *taskqueue.Service,
	parallelTaskChannels *paralleltask.TaskChannels,
	logger *log.Logger,
) *Task

NewTask creates a new task handler for parallel module execution

func (*Task) CreateAndStartQueuesForModuleHooks

func (s *Task) CreateAndStartQueuesForModuleHooks(moduleName string)

CreateAndStartQueuesForModuleHooks creates queues for registered module hooks. It is safe to run this method multiple times, as it checks for existing queues.

func (*Task) Handle

func (s *Task) Handle(ctx context.Context) queue.TaskResult

Handle runs multiple ModuleRun tasks in parallel and aggregates their results. It creates tasks for each module in separate parallel queues, then monitors their completion through a communication channel.

type TaskDependencies

type TaskDependencies interface {
	GetModuleManager() *module_manager.ModuleManager
	GetQueueService() *taskqueue.Service
	GetParallelTaskChannels() *paralleltask.TaskChannels
}

TaskDependencies defines the interface for accessing necessary components

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL