create concurrent script runner per rule script
Some checks failed
Go / build (push) Has been cancelled
Go / release (push) Has been cancelled

bump to v0.27.1
This commit is contained in:
2025-11-10 10:56:02 +00:00
parent 84b7c0e11c
commit 09bcbac20d
4 changed files with 551 additions and 457 deletions

View File

@@ -104,21 +104,25 @@ done
b.Fatalf("Failed to create test script: %v", err)
}
ctx := context.Background()
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
manager := &PolicyManager{
ctx: ctx,
configDir: tempDir,
scriptPath: scriptPath,
enabled: true,
responseChan: make(chan PolicyResponse, 100),
ctx: ctx,
cancel: cancel,
configDir: tempDir,
scriptPath: scriptPath,
enabled: true,
runners: make(map[string]*ScriptRunner),
}
// Start the policy manager
err = manager.StartPolicy()
// Get or create runner and start it
runner := manager.getOrCreateRunner(scriptPath)
err = runner.Start()
if err != nil {
b.Fatalf("Failed to start policy: %v", err)
b.Fatalf("Failed to start policy script: %v", err)
}
defer manager.StopPolicy()
defer runner.Stop()
// Give the script time to start
time.Sleep(100 * time.Millisecond)