mirror of
https://github.com/lordmathis/llamactl.git
synced 2025-11-06 17:14:28 +00:00
Remove rendundant instance prefix from status
This commit is contained in:
@@ -22,8 +22,8 @@ type Instance struct {
|
|||||||
globalBackendSettings *config.BackendConfig
|
globalBackendSettings *config.BackendConfig
|
||||||
|
|
||||||
// Status
|
// Status
|
||||||
Status InstanceStatus `json:"status"`
|
Status Status `json:"status"`
|
||||||
onStatusChange func(oldStatus, newStatus InstanceStatus)
|
onStatusChange func(oldStatus, newStatus Status)
|
||||||
|
|
||||||
// Creation time
|
// Creation time
|
||||||
Created int64 `json:"created,omitempty"` // Unix timestamp when the instance was created
|
Created int64 `json:"created,omitempty"` // Unix timestamp when the instance was created
|
||||||
@@ -49,7 +49,7 @@ type Instance struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// NewInstance creates a new instance with the given name, log path, and options
|
// NewInstance creates a new instance with the given name, log path, and options
|
||||||
func NewInstance(name string, globalBackendSettings *config.BackendConfig, globalInstanceSettings *config.InstancesConfig, options *CreateInstanceOptions, onStatusChange func(oldStatus, newStatus InstanceStatus)) *Instance {
|
func NewInstance(name string, globalBackendSettings *config.BackendConfig, globalInstanceSettings *config.InstancesConfig, options *CreateInstanceOptions, onStatusChange func(oldStatus, newStatus Status)) *Instance {
|
||||||
// Validate and copy options
|
// Validate and copy options
|
||||||
options.ValidateAndApplyDefaults(name, globalInstanceSettings)
|
options.ValidateAndApplyDefaults(name, globalInstanceSettings)
|
||||||
|
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ func TestNewInstance(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Mock onStatusChange function
|
// Mock onStatusChange function
|
||||||
mockOnStatusChange := func(oldStatus, newStatus instance.InstanceStatus) {}
|
mockOnStatusChange := func(oldStatus, newStatus instance.Status) {}
|
||||||
|
|
||||||
inst := instance.NewInstance("test-instance", backendConfig, globalSettings, options, mockOnStatusChange)
|
inst := instance.NewInstance("test-instance", backendConfig, globalSettings, options, mockOnStatusChange)
|
||||||
|
|
||||||
@@ -113,7 +113,7 @@ func TestNewInstance_WithRestartOptions(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Mock onStatusChange function
|
// Mock onStatusChange function
|
||||||
mockOnStatusChange := func(oldStatus, newStatus instance.InstanceStatus) {}
|
mockOnStatusChange := func(oldStatus, newStatus instance.Status) {}
|
||||||
|
|
||||||
instance := instance.NewInstance("test-instance", backendConfig, globalSettings, options, mockOnStatusChange)
|
instance := instance.NewInstance("test-instance", backendConfig, globalSettings, options, mockOnStatusChange)
|
||||||
opts := instance.GetOptions()
|
opts := instance.GetOptions()
|
||||||
@@ -162,7 +162,7 @@ func TestSetOptions(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Mock onStatusChange function
|
// Mock onStatusChange function
|
||||||
mockOnStatusChange := func(oldStatus, newStatus instance.InstanceStatus) {}
|
mockOnStatusChange := func(oldStatus, newStatus instance.Status) {}
|
||||||
|
|
||||||
inst := instance.NewInstance("test-instance", backendConfig, globalSettings, initialOptions, mockOnStatusChange)
|
inst := instance.NewInstance("test-instance", backendConfig, globalSettings, initialOptions, mockOnStatusChange)
|
||||||
|
|
||||||
@@ -220,7 +220,7 @@ func TestGetProxy(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Mock onStatusChange function
|
// Mock onStatusChange function
|
||||||
mockOnStatusChange := func(oldStatus, newStatus instance.InstanceStatus) {}
|
mockOnStatusChange := func(oldStatus, newStatus instance.Status) {}
|
||||||
|
|
||||||
inst := instance.NewInstance("test-instance", backendConfig, globalSettings, options, mockOnStatusChange)
|
inst := instance.NewInstance("test-instance", backendConfig, globalSettings, options, mockOnStatusChange)
|
||||||
|
|
||||||
@@ -275,7 +275,7 @@ func TestMarshalJSON(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Mock onStatusChange function
|
// Mock onStatusChange function
|
||||||
mockOnStatusChange := func(oldStatus, newStatus instance.InstanceStatus) {}
|
mockOnStatusChange := func(oldStatus, newStatus instance.Status) {}
|
||||||
|
|
||||||
instance := instance.NewInstance("test-instance", backendConfig, globalSettings, options, mockOnStatusChange)
|
instance := instance.NewInstance("test-instance", backendConfig, globalSettings, options, mockOnStatusChange)
|
||||||
|
|
||||||
@@ -444,7 +444,7 @@ func TestCreateInstanceOptionsValidation(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Mock onStatusChange function
|
// Mock onStatusChange function
|
||||||
mockOnStatusChange := func(oldStatus, newStatus instance.InstanceStatus) {}
|
mockOnStatusChange := func(oldStatus, newStatus instance.Status) {}
|
||||||
|
|
||||||
instance := instance.NewInstance("test", backendConfig, globalSettings, options, mockOnStatusChange)
|
instance := instance.NewInstance("test", backendConfig, globalSettings, options, mockOnStatusChange)
|
||||||
opts := instance.GetOptions()
|
opts := instance.GetOptions()
|
||||||
|
|||||||
@@ -6,27 +6,27 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
// Enum for instance status
|
// Enum for instance status
|
||||||
type InstanceStatus int
|
type Status int
|
||||||
|
|
||||||
const (
|
const (
|
||||||
Stopped InstanceStatus = iota
|
Stopped Status = iota
|
||||||
Running
|
Running
|
||||||
Failed
|
Failed
|
||||||
)
|
)
|
||||||
|
|
||||||
var nameToStatus = map[string]InstanceStatus{
|
var nameToStatus = map[string]Status{
|
||||||
"stopped": Stopped,
|
"stopped": Stopped,
|
||||||
"running": Running,
|
"running": Running,
|
||||||
"failed": Failed,
|
"failed": Failed,
|
||||||
}
|
}
|
||||||
|
|
||||||
var statusToName = map[InstanceStatus]string{
|
var statusToName = map[Status]string{
|
||||||
Stopped: "stopped",
|
Stopped: "stopped",
|
||||||
Running: "running",
|
Running: "running",
|
||||||
Failed: "failed",
|
Failed: "failed",
|
||||||
}
|
}
|
||||||
|
|
||||||
func (p *Instance) SetStatus(status InstanceStatus) {
|
func (p *Instance) SetStatus(status Status) {
|
||||||
oldStatus := p.Status
|
oldStatus := p.Status
|
||||||
p.Status = status
|
p.Status = status
|
||||||
|
|
||||||
@@ -35,7 +35,7 @@ func (p *Instance) SetStatus(status InstanceStatus) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (p *Instance) GetStatus() InstanceStatus {
|
func (p *Instance) GetStatus() Status {
|
||||||
return p.Status
|
return p.Status
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -44,7 +44,7 @@ func (p *Instance) IsRunning() bool {
|
|||||||
return p.Status == Running
|
return p.Status == Running
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s InstanceStatus) MarshalJSON() ([]byte, error) {
|
func (s Status) MarshalJSON() ([]byte, error) {
|
||||||
name, ok := statusToName[s]
|
name, ok := statusToName[s]
|
||||||
if !ok {
|
if !ok {
|
||||||
name = "stopped" // Default to "stopped" for unknown status
|
name = "stopped" // Default to "stopped" for unknown status
|
||||||
@@ -53,7 +53,7 @@ func (s InstanceStatus) MarshalJSON() ([]byte, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// UnmarshalJSON implements json.Unmarshaler
|
// UnmarshalJSON implements json.Unmarshaler
|
||||||
func (s *InstanceStatus) UnmarshalJSON(data []byte) error {
|
func (s *Status) UnmarshalJSON(data []byte) error {
|
||||||
var str string
|
var str string
|
||||||
if err := json.Unmarshal(data, &str); err != nil {
|
if err := json.Unmarshal(data, &str); err != nil {
|
||||||
return err
|
return err
|
||||||
|
|||||||
@@ -54,7 +54,7 @@ func TestUpdateLastRequestTime(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Mock onStatusChange function
|
// Mock onStatusChange function
|
||||||
mockOnStatusChange := func(oldStatus, newStatus instance.InstanceStatus) {}
|
mockOnStatusChange := func(oldStatus, newStatus instance.Status) {}
|
||||||
|
|
||||||
inst := instance.NewInstance("test-instance", backendConfig, globalSettings, options, mockOnStatusChange)
|
inst := instance.NewInstance("test-instance", backendConfig, globalSettings, options, mockOnStatusChange)
|
||||||
|
|
||||||
@@ -86,7 +86,7 @@ func TestShouldTimeout_NotRunning(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Mock onStatusChange function
|
// Mock onStatusChange function
|
||||||
mockOnStatusChange := func(oldStatus, newStatus instance.InstanceStatus) {}
|
mockOnStatusChange := func(oldStatus, newStatus instance.Status) {}
|
||||||
|
|
||||||
inst := instance.NewInstance("test-instance", backendConfig, globalSettings, options, mockOnStatusChange)
|
inst := instance.NewInstance("test-instance", backendConfig, globalSettings, options, mockOnStatusChange)
|
||||||
|
|
||||||
@@ -122,7 +122,7 @@ func TestShouldTimeout_NoTimeoutConfigured(t *testing.T) {
|
|||||||
for _, tt := range tests {
|
for _, tt := range tests {
|
||||||
t.Run(tt.name, func(t *testing.T) {
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
// Mock onStatusChange function
|
// Mock onStatusChange function
|
||||||
mockOnStatusChange := func(oldStatus, newStatus instance.InstanceStatus) {}
|
mockOnStatusChange := func(oldStatus, newStatus instance.Status) {}
|
||||||
|
|
||||||
options := &instance.CreateInstanceOptions{
|
options := &instance.CreateInstanceOptions{
|
||||||
IdleTimeout: tt.idleTimeout,
|
IdleTimeout: tt.idleTimeout,
|
||||||
@@ -167,7 +167,7 @@ func TestShouldTimeout_WithinTimeLimit(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Mock onStatusChange function
|
// Mock onStatusChange function
|
||||||
mockOnStatusChange := func(oldStatus, newStatus instance.InstanceStatus) {}
|
mockOnStatusChange := func(oldStatus, newStatus instance.Status) {}
|
||||||
|
|
||||||
inst := instance.NewInstance("test-instance", backendConfig, globalSettings, options, mockOnStatusChange)
|
inst := instance.NewInstance("test-instance", backendConfig, globalSettings, options, mockOnStatusChange)
|
||||||
inst.SetStatus(instance.Running)
|
inst.SetStatus(instance.Running)
|
||||||
@@ -205,7 +205,7 @@ func TestShouldTimeout_ExceedsTimeLimit(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Mock onStatusChange function
|
// Mock onStatusChange function
|
||||||
mockOnStatusChange := func(oldStatus, newStatus instance.InstanceStatus) {}
|
mockOnStatusChange := func(oldStatus, newStatus instance.Status) {}
|
||||||
|
|
||||||
inst := instance.NewInstance("test-instance", backendConfig, globalSettings, options, mockOnStatusChange)
|
inst := instance.NewInstance("test-instance", backendConfig, globalSettings, options, mockOnStatusChange)
|
||||||
inst.SetStatus(instance.Running)
|
inst.SetStatus(instance.Running)
|
||||||
@@ -261,7 +261,7 @@ func TestTimeoutConfiguration_Validation(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Mock onStatusChange function
|
// Mock onStatusChange function
|
||||||
mockOnStatusChange := func(oldStatus, newStatus instance.InstanceStatus) {}
|
mockOnStatusChange := func(oldStatus, newStatus instance.Status) {}
|
||||||
|
|
||||||
inst := instance.NewInstance("test-instance", backendConfig, globalSettings, options, mockOnStatusChange)
|
inst := instance.NewInstance("test-instance", backendConfig, globalSettings, options, mockOnStatusChange)
|
||||||
opts := inst.GetOptions()
|
opts := inst.GetOptions()
|
||||||
|
|||||||
@@ -276,10 +276,10 @@ func (im *instanceManager) loadInstance(name, path string) error {
|
|||||||
// Check if this is a remote instance
|
// Check if this is a remote instance
|
||||||
isRemote := options != nil && len(options.Nodes) > 0
|
isRemote := options != nil && len(options.Nodes) > 0
|
||||||
|
|
||||||
var statusCallback func(oldStatus, newStatus instance.InstanceStatus)
|
var statusCallback func(oldStatus, newStatus instance.Status)
|
||||||
if !isRemote {
|
if !isRemote {
|
||||||
// Only set status callback for local instances
|
// Only set status callback for local instances
|
||||||
statusCallback = func(oldStatus, newStatus instance.InstanceStatus) {
|
statusCallback = func(oldStatus, newStatus instance.Status) {
|
||||||
im.onStatusChange(persistedInstance.Name, oldStatus, newStatus)
|
im.onStatusChange(persistedInstance.Name, oldStatus, newStatus)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -361,7 +361,7 @@ func (im *instanceManager) autoStartInstances() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (im *instanceManager) onStatusChange(name string, oldStatus, newStatus instance.InstanceStatus) {
|
func (im *instanceManager) onStatusChange(name string, oldStatus, newStatus instance.Status) {
|
||||||
im.mu.Lock()
|
im.mu.Lock()
|
||||||
defer im.mu.Unlock()
|
defer im.mu.Unlock()
|
||||||
|
|
||||||
|
|||||||
@@ -148,7 +148,7 @@ func (im *instanceManager) CreateInstance(name string, options *instance.CreateI
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
statusCallback := func(oldStatus, newStatus instance.InstanceStatus) {
|
statusCallback := func(oldStatus, newStatus instance.Status) {
|
||||||
im.onStatusChange(name, oldStatus, newStatus)
|
im.onStatusChange(name, oldStatus, newStatus)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user