mirror of
https://github.com/EnumeratedDev/enit.git
synced 2026-09-16 02:26:11 +00:00
Add file dependencies to services
This commit is contained in:
@@ -248,11 +248,20 @@ func Init() {
|
||||
service := servicesWithMetDepends[i]
|
||||
canStart := true
|
||||
for _, dependency := range service.Dependencies {
|
||||
if strings.HasPrefix(dependency, "/") {
|
||||
// File dependency
|
||||
if _, err := os.Stat(dependency); err != nil {
|
||||
canStart = false
|
||||
break
|
||||
}
|
||||
} else {
|
||||
// Service dependency
|
||||
if GetServiceByName(dependency).GetCurrentState() != EnitServiceRunning && GetServiceByName(dependency).GetCurrentState() != EnitServiceCompleted {
|
||||
canStart = false
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
if canStart {
|
||||
err := service.StartService()
|
||||
if err != nil {
|
||||
@@ -293,11 +302,19 @@ func GetServiceByName(name string) *EnitService {
|
||||
|
||||
func (service *EnitService) GetUnmetDependencies() (missingDependencies []string) {
|
||||
for _, dependency := range service.Dependencies {
|
||||
if strings.HasPrefix(dependency, "/") {
|
||||
// File dependency
|
||||
if _, err := os.Stat(dependency); err != nil {
|
||||
missingDependencies = append(missingDependencies, dependency)
|
||||
}
|
||||
} else {
|
||||
// Service dependency
|
||||
depService := GetServiceByName(dependency)
|
||||
if depService == nil {
|
||||
missingDependencies = append(missingDependencies, dependency)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return missingDependencies
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user