Add MaxRunningInstances to InstancesConfig and implement IsRunning method

This commit is contained in:
2025-08-27 18:42:34 +02:00
parent a6e3cb4a9b
commit 615c2ac54e
3 changed files with 24 additions and 7 deletions

View File

@@ -28,10 +28,11 @@ type InstanceManager interface {
}
type instanceManager struct {
mu sync.RWMutex
instances map[string]*instance.Process
ports map[int]bool
instancesConfig config.InstancesConfig
mu sync.RWMutex
instances map[string]*instance.Process
runningInstances map[*instance.Process]struct{}
ports map[int]bool
instancesConfig config.InstancesConfig
// Timeout checker
timeoutChecker *time.Ticker
@@ -46,9 +47,10 @@ func NewInstanceManager(instancesConfig config.InstancesConfig) InstanceManager
instancesConfig.TimeoutCheckInterval = 5 // Default to 5 minutes if not set
}
im := &instanceManager{
instances: make(map[string]*instance.Process),
ports: make(map[int]bool),
instancesConfig: instancesConfig,
instances: make(map[string]*instance.Process),
runningInstances: make(map[*instance.Process]struct{}),
ports: make(map[int]bool),
instancesConfig: instancesConfig,
timeoutChecker: time.NewTicker(time.Duration(instancesConfig.TimeoutCheckInterval) * time.Minute),
shutdownChan: make(chan struct{}),