@@ -21,6 +21,7 @@ import (
21
21
"github.com/pkg/errors"
22
22
23
23
"gitlab.com/postgres-ai/database-lab/v3/internal/cloning"
24
+ "gitlab.com/postgres-ai/database-lab/v3/internal/diagnostic"
24
25
"gitlab.com/postgres-ai/database-lab/v3/internal/embeddedui"
25
26
"gitlab.com/postgres-ai/database-lab/v3/internal/estimator"
26
27
"gitlab.com/postgres-ai/database-lab/v3/internal/observer"
@@ -166,7 +167,9 @@ func main() {
166
167
obs , est , pm , tm , tokenHolder , embeddedUI )
167
168
shutdownCh := setShutdownListener ()
168
169
169
- go setReloadListener (ctx , provisioner , tm , retrievalSvc , pm , cloningSvc , platformSvc , est , embeddedUI , server )
170
+ logCleaner := diagnostic .NewLogCleaner ()
171
+
172
+ go setReloadListener (ctx , provisioner , tm , retrievalSvc , pm , cloningSvc , platformSvc , est , embeddedUI , server , logCleaner )
170
173
171
174
server .InitHandlers ()
172
175
@@ -192,6 +195,10 @@ func main() {
192
195
193
196
defer retrievalSvc .Stop ()
194
197
198
+ if err := logCleaner .ScheduleLogCleanupJob (cfg .Diagnostic ); err != nil {
199
+ log .Err ("Failed to schedule a cleanup job of the diagnostic logs collector" , err )
200
+ }
201
+
195
202
<- shutdownCh
196
203
cancel ()
197
204
@@ -206,6 +213,7 @@ func main() {
206
213
207
214
shutdownDatabaseLabEngine (ctxBackground , docker , & cfg .Global .Database , engProps .InstanceID , pm .First ())
208
215
cloningSvc .SaveClonesState ()
216
+ logCleaner .StopLogCleanupJob ()
209
217
tm .SendEvent (ctxBackground , telemetry .EngineStoppedEvent , telemetry.EngineStopped {Uptime : server .Uptime ()})
210
218
}
211
219
@@ -234,9 +242,9 @@ func getEngineProperties(ctx context.Context, dockerCLI *client.Client, cfg *con
234
242
return engProps , nil
235
243
}
236
244
237
- func reloadConfig (ctx context.Context , provisionSvc * provision.Provisioner , tm * telemetry.Agent , retrievalSvc * retrieval. Retrieval ,
238
- pm * pool.Manager , cloningSvc * cloning.Base , platformSvc * platform.Service , est * estimator. Estimator , embeddedUI * embeddedui. UIManager ,
239
- server * srv.Server ) error {
245
+ func reloadConfig (ctx context.Context , provisionSvc * provision.Provisioner , tm * telemetry.Agent ,
246
+ retrievalSvc * retrieval. Retrieval , pm * pool.Manager , cloningSvc * cloning.Base , platformSvc * platform.Service ,
247
+ est * estimator. Estimator , embeddedUI * embeddedui. UIManager , server * srv.Server , cleaner * diagnostic. Cleaner ) error {
240
248
cfg , err := config .LoadConfiguration ()
241
249
if err != nil {
242
250
return err
@@ -264,6 +272,10 @@ func reloadConfig(ctx context.Context, provisionSvc *provision.Provisioner, tm *
264
272
return err
265
273
}
266
274
275
+ if err := cleaner .ScheduleLogCleanupJob (cfg .Diagnostic ); err != nil {
276
+ return err
277
+ }
278
+
267
279
dbCfg := resources.DB {
268
280
Username : cfg .Global .Database .User (),
269
281
DBName : cfg .Global .Database .Name (),
@@ -280,16 +292,16 @@ func reloadConfig(ctx context.Context, provisionSvc *provision.Provisioner, tm *
280
292
return nil
281
293
}
282
294
283
- func setReloadListener (ctx context.Context , provisionSvc * provision.Provisioner , tm * telemetry.Agent , retrievalSvc * retrieval. Retrieval ,
284
- pm * pool.Manager , cloningSvc * cloning.Base , platformSvc * platform.Service , est * estimator. Estimator , embeddedUI * embeddedui. UIManager ,
285
- server * srv.Server ) {
295
+ func setReloadListener (ctx context.Context , provisionSvc * provision.Provisioner , tm * telemetry.Agent ,
296
+ retrievalSvc * retrieval. Retrieval , pm * pool.Manager , cloningSvc * cloning.Base , platformSvc * platform.Service ,
297
+ est * estimator. Estimator , embeddedUI * embeddedui. UIManager , server * srv.Server , cleaner * diagnostic. Cleaner ) {
286
298
reloadCh := make (chan os.Signal , 1 )
287
299
signal .Notify (reloadCh , syscall .SIGHUP )
288
300
289
301
for range reloadCh {
290
302
log .Msg ("Reloading configuration" )
291
303
292
- if err := reloadConfig (ctx , provisionSvc , tm , retrievalSvc , pm , cloningSvc , platformSvc , est , embeddedUI , server ); err != nil {
304
+ if err := reloadConfig (ctx , provisionSvc , tm , retrievalSvc , pm , cloningSvc , platformSvc , est , embeddedUI , server , cleaner ); err != nil {
293
305
log .Err ("Failed to reload configuration" , err )
294
306
}
295
307
0 commit comments