Skip to content

Commit 3588be0

Browse files
committed
Handle docker restarting
1 parent e3dd9db commit 3588be0

File tree

1 file changed

+12
-12
lines changed

1 file changed

+12
-12
lines changed

docker-gen.go

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ func deepGet(item interface{}, path string) interface{} {
6363
return deepGet(mapValue.Interface(), strings.Join(parts[1:], "."))
6464
}
6565
default:
66-
fmt.Printf("can't group by %s", path)
66+
fmt.Printf("can't group by %s\n", path)
6767
}
6868
return nil
6969
}
@@ -107,7 +107,7 @@ func generateFile(templatePath string, containers []*RuntimeContainer) {
107107
if flag.NArg() == 2 {
108108
dest, err = os.Create(flag.Arg(1))
109109
if err != nil {
110-
fmt.Println("unable to create dest file %s: %s", flag.Arg(1), err)
110+
fmt.Println("unable to create dest file %s: %s\n", flag.Arg(1), err)
111111
os.Exit(1)
112112
}
113113
}
@@ -131,22 +131,24 @@ func getEvents() chan *Event {
131131
go func() {
132132
defer close(eventChan)
133133

134+
restart:
135+
134136
c, err := newConn()
135137
if err != nil {
136-
fmt.Printf("cannot connect to docker: %s", err)
138+
fmt.Printf("cannot connect to docker: %s\n", err)
137139
return
138140
}
139141
defer c.Close()
140142

141143
req, err := http.NewRequest("GET", "/events", nil)
142144
if err != nil {
143-
fmt.Printf("bad request for events: %s", err)
145+
fmt.Printf("bad request for events: %s\n", err)
144146
return
145147
}
146148

147149
resp, err := c.Do(req)
148150
if err != nil {
149-
fmt.Printf("cannot connect to events endpoint: %s", err)
151+
fmt.Printf("cannot connect to events endpoint: %s\n", err)
150152
return
151153
}
152154
defer resp.Body.Close()
@@ -171,12 +173,12 @@ func getEvents() chan *Event {
171173
if err == io.EOF {
172174
break
173175
}
174-
fmt.Printf("cannot decode json: %s", err)
175-
continue
176+
fmt.Printf("cannot decode json: %s\n", err)
177+
goto restart
176178
}
177179
eventChan <- event
178180
}
179-
fmt.Printf("closing event channel")
181+
fmt.Printf("closing event channel\n")
180182
}()
181183
return eventChan
182184
}
@@ -186,15 +188,15 @@ func generateFromContainers(client *docker.Client) {
186188
All: false,
187189
})
188190
if err != nil {
189-
fmt.Printf("error listing containers: %s", err)
191+
fmt.Printf("error listing containers: %s\n", err)
190192
return
191193
}
192194

193195
containers := []*RuntimeContainer{}
194196
for _, apiContainer := range apiContainers {
195197
container, err := client.InspectContainer(apiContainer.ID)
196198
if err != nil {
197-
fmt.Printf("error inspecting container: %s: %s", apiContainer.ID, err)
199+
fmt.Printf("error inspecting container: %s: %s\n", apiContainer.ID, err)
198200
continue
199201
}
200202

@@ -276,8 +278,6 @@ func main() {
276278
if event.Status == "start" || event.Status == "stop" || event.Status == "die" {
277279
generateFromContainers(client)
278280
runNotifyCmd()
279-
} else {
280-
println(event.Status)
281281
}
282282
}
283283

0 commit comments

Comments
 (0)