Commit 07a72b4
committed
fix(services): HealthChecker.Register triggers immediate poll when running
When Register() is called on an already-started HealthChecker, it now
sends a non-blocking signal on a new chRefresh channel. The run()
goroutine selects on this channel and calls update() immediately, so
the newly registered service is visible in IsHealthy() / IsReady()
without waiting up to 15 s for the next polling tick.
Root cause: the job spawner starts a service then registers it with the
HealthChecker. Before this fix, a dynamically registered service was
absent from health reports for a full polling interval even though
Ready() already returned nil.1 parent 8115835 commit 07a72b4
1 file changed
Lines changed: 20 additions & 8 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
47 | 47 | | |
48 | 48 | | |
49 | 49 | | |
50 | | - | |
51 | | - | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
52 | 53 | | |
53 | 54 | | |
54 | 55 | | |
| |||
130 | 131 | | |
131 | 132 | | |
132 | 133 | | |
133 | | - | |
134 | | - | |
135 | | - | |
136 | | - | |
137 | | - | |
138 | | - | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
139 | 141 | | |
140 | 142 | | |
141 | 143 | | |
| |||
171 | 173 | | |
172 | 174 | | |
173 | 175 | | |
| 176 | + | |
| 177 | + | |
174 | 178 | | |
175 | 179 | | |
176 | 180 | | |
| |||
226 | 230 | | |
227 | 231 | | |
228 | 232 | | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
229 | 241 | | |
230 | 242 | | |
231 | 243 | | |
| |||
0 commit comments