@@ -133,6 +133,9 @@ func (pp *proxySetProvider) Update() error {
133133}
134134
135135func (pp * proxySetProvider ) Initial () error {
136+ if pp .healthCheck .auto () {
137+ go pp .healthCheck .process ()
138+ }
136139 _ , err := pp .Fetcher .Initial ()
137140 if err != nil {
138141 return err
@@ -162,10 +165,6 @@ func (pp *proxySetProvider) Close() error {
162165}
163166
164167func NewProxySetProvider (name string , interval time.Duration , payload []map [string ]any , parser resource.Parser [[]C.Proxy ], vehicle types.Vehicle , hc * HealthCheck ) (* ProxySetProvider , error ) {
165- if hc .auto () {
166- go hc .process ()
167- }
168-
169168 pd := & proxySetProvider {
170169 baseProvider : baseProvider {
171170 name : name ,
@@ -235,6 +234,9 @@ func (ip *inlineProvider) VehicleType() types.VehicleType {
235234}
236235
237236func (ip * inlineProvider ) Initial () error {
237+ if ip .healthCheck .auto () {
238+ go ip .healthCheck .process ()
239+ }
238240 return nil
239241}
240242
@@ -245,10 +247,6 @@ func (ip *inlineProvider) Update() error {
245247}
246248
247249func NewInlineProvider (name string , payload []map [string ]any , parser resource.Parser [[]C.Proxy ], hc * HealthCheck ) (* InlineProvider , error ) {
248- if hc .auto () {
249- go hc .process ()
250- }
251-
252250 ps := ProxySchema {Proxies : payload }
253251 buf , err := yaml .Marshal (ps )
254252 if err != nil {
@@ -302,6 +300,9 @@ func (cp *compatibleProvider) Update() error {
302300}
303301
304302func (cp * compatibleProvider ) Initial () error {
303+ if cp .healthCheck .auto () {
304+ go cp .healthCheck .process ()
305+ }
305306 return nil
306307}
307308
@@ -314,10 +315,6 @@ func NewCompatibleProvider(name string, proxies []C.Proxy, hc *HealthCheck) (*Co
314315 return nil , errors .New ("provider need one proxy at least" )
315316 }
316317
317- if hc .auto () {
318- go hc .process ()
319- }
320-
321318 pd := & compatibleProvider {
322319 baseProvider : baseProvider {
323320 name : name ,
0 commit comments