mirror of
https://github.com/yusing/godoxy.git
synced 2025-05-20 12:42:34 +02:00
fix stuck loading in some scenerios for ls-* command line options
This commit is contained in:
parent
46281aa3b0
commit
d9fd399e43
4 changed files with 13 additions and 9 deletions
|
@ -249,7 +249,7 @@ func (cfg *Config) loadProviders(providers *M.ProxyProviders) (res E.NestedError
|
||||||
for name, dockerHost := range providers.Docker {
|
for name, dockerHost := range providers.Docker {
|
||||||
p, err := PR.NewDockerProvider(name, dockerHost)
|
p, err := PR.NewDockerProvider(name, dockerHost)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
b.Add(err.Subject(dockerHost))
|
b.Add(err.Subjectf("%s (%s)", name, dockerHost))
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
cfg.proxyProviders.Store(p.GetName(), p)
|
cfg.proxyProviders.Store(p.GetName(), p)
|
||||||
|
|
|
@ -80,8 +80,6 @@ func main() {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
cfg.StartProxyProviders()
|
|
||||||
|
|
||||||
if args.Command == common.CommandListRoutes {
|
if args.Command == common.CommandListRoutes {
|
||||||
printJSON(cfg.RoutesByAlias())
|
printJSON(cfg.RoutesByAlias())
|
||||||
return
|
return
|
||||||
|
@ -92,6 +90,8 @@ func main() {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
cfg.StartProxyProviders()
|
||||||
|
|
||||||
if err.HasError() {
|
if err.HasError() {
|
||||||
l.Warn(err)
|
l.Warn(err)
|
||||||
}
|
}
|
||||||
|
@ -177,10 +177,11 @@ func main() {
|
||||||
close(done)
|
close(done)
|
||||||
}()
|
}()
|
||||||
|
|
||||||
|
timeout := time.After(time.Duration(cfg.Value().TimeoutShutdown) * time.Second)
|
||||||
select {
|
select {
|
||||||
case <-done:
|
case <-done:
|
||||||
logrus.Info("shutdown complete")
|
logrus.Info("shutdown complete")
|
||||||
case <-time.After(time.Duration(cfg.Value().TimeoutShutdown) * time.Second):
|
case <-timeout:
|
||||||
logrus.Info("timeout waiting for shutdown")
|
logrus.Info("timeout waiting for shutdown")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -143,11 +143,14 @@ func (p *Provider) GetRoute(alias string) (R.Route, bool) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (p *Provider) LoadRoutes() E.NestedError {
|
func (p *Provider) LoadRoutes() E.NestedError {
|
||||||
routes, err := p.LoadRoutesImpl()
|
var err E.NestedError
|
||||||
p.routes = routes
|
p.routes, err = p.LoadRoutesImpl()
|
||||||
p.l.Infof("loaded %d routes", routes.Size())
|
if p.routes.Size() > 0 {
|
||||||
|
p.l.Infof("loaded %d routes", p.routes.Size())
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
return E.FailWith("loading routes", err)
|
||||||
|
}
|
||||||
|
|
||||||
func (p *Provider) watchEvents() {
|
func (p *Provider) watchEvents() {
|
||||||
events, errs := p.watcher.Events(p.watcherCtx)
|
events, errs := p.watcher.Events(p.watcherCtx)
|
||||||
|
|
|
@ -72,9 +72,9 @@ func (w DockerWatcher) EventsWithOptions(ctx context.Context, options DockerList
|
||||||
|
|
||||||
if !w.client.Connected() {
|
if !w.client.Connected() {
|
||||||
var err E.NestedError
|
var err E.NestedError
|
||||||
|
attempts := 0
|
||||||
for {
|
for {
|
||||||
w.client, err = D.ConnectClient(w.host)
|
w.client, err = D.ConnectClient(w.host)
|
||||||
attempts := 0
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue