add func to store for getting single service status

and use that in the watchdog
This commit is contained in:
Chris Heppell
2020-12-31 20:33:35 +00:00
parent 5eb289c4d3
commit 4d24a4d647
2 changed files with 14 additions and 4 deletions

View File

@ -41,6 +41,18 @@ func (ims *InMemoryStore) GetAll() map[string]*core.ServiceStatus {
return results
}
// GetServiceStatus returns the service status for a given service name in the given group
func (ims *InMemoryStore) GetServiceStatus(group, name string) *core.ServiceStatus {
key := fmt.Sprintf("%s_%s", group, name)
serviceResultsMutex.RLock()
serviceStatus, exists := serviceStatuses[key]
serviceResultsMutex.RUnlock()
if !exists {
return nil
}
return serviceStatus
}
// Insert inserts the observed result for the specified service into the in memory store
func (ims *InMemoryStore) Insert(service *core.Service, result *core.Result) {
key := fmt.Sprintf("%s_%s", service.Group, service.Name)