diff --git a/core/service/servicegroup.go b/core/service/servicegroup.go index 4585bf08..984a0eff 100644 --- a/core/service/servicegroup.go +++ b/core/service/servicegroup.go @@ -26,6 +26,7 @@ type ( } // A ServiceGroup is a group of services. + // Attention: the starting order of the added services is not guaranteed. ServiceGroup struct { services []Service stopOnce func() @@ -41,7 +42,8 @@ func NewServiceGroup() *ServiceGroup { // Add adds service into sg. func (sg *ServiceGroup) Add(service Service) { - sg.services = append(sg.services, service) + // push front, stop with reverse order. + sg.services = append([]Service{service}, sg.services...) } // Start starts the ServiceGroup.