mirror of
https://github.com/EZ-Api/ez-api.git
synced 2026-01-13 17:47:51 +00:00
feat(arch): add log partitioning and provider delete sync
This commit is contained in:
@@ -131,7 +131,13 @@ func main() {
|
||||
|
||||
// 4. Setup Services and Handlers
|
||||
syncService := service.NewSyncService(rdb)
|
||||
logWriter := service.NewLogWriter(logDB, cfg.Log.QueueCapacity, cfg.Log.BatchSize, cfg.Log.FlushInterval)
|
||||
logPartitioner := service.NewLogPartitioner(logDB, cfg.Log.Partitioning)
|
||||
if logPartitioner.Enabled() {
|
||||
if _, err := logPartitioner.EnsurePartitionFor(time.Now().UTC()); err != nil {
|
||||
fatal(logger, "failed to ensure log partition", "err", err)
|
||||
}
|
||||
}
|
||||
logWriter := service.NewLogWriter(logDB, cfg.Log.QueueCapacity, cfg.Log.BatchSize, cfg.Log.FlushInterval, logPartitioner)
|
||||
logCtx, cancelLogs := context.WithCancel(context.Background())
|
||||
defer cancelLogs()
|
||||
logWriter.Start(logCtx)
|
||||
@@ -139,7 +145,7 @@ func main() {
|
||||
quotaCtx, cancelQuota := context.WithCancel(context.Background())
|
||||
defer cancelQuota()
|
||||
go quotaResetter.Start(quotaCtx)
|
||||
logCleaner := cron.NewLogCleaner(logDB, rdb, cfg.Log.RetentionDays, int64(cfg.Log.MaxRecords), time.Hour)
|
||||
logCleaner := cron.NewLogCleaner(logDB, rdb, cfg.Log.RetentionDays, int64(cfg.Log.MaxRecords), time.Hour, logPartitioner)
|
||||
cleanerCtx, cancelCleaner := context.WithCancel(context.Background())
|
||||
defer cancelCleaner()
|
||||
go logCleaner.Start(cleanerCtx)
|
||||
@@ -152,9 +158,9 @@ func main() {
|
||||
healthService := service.NewHealthCheckService(db, rdb)
|
||||
healthHandler := api.NewHealthHandler(healthService)
|
||||
|
||||
handler := api.NewHandler(db, logDB, syncService, logWriter, rdb)
|
||||
adminHandler := api.NewAdminHandler(db, logDB, masterService, syncService)
|
||||
masterHandler := api.NewMasterHandler(db, logDB, masterService, syncService)
|
||||
handler := api.NewHandler(db, logDB, syncService, logWriter, rdb, logPartitioner)
|
||||
adminHandler := api.NewAdminHandler(db, logDB, masterService, syncService, logPartitioner)
|
||||
masterHandler := api.NewMasterHandler(db, logDB, masterService, syncService, logPartitioner)
|
||||
internalHandler := api.NewInternalHandler(db)
|
||||
featureHandler := api.NewFeatureHandler(rdb)
|
||||
modelRegistryService := service.NewModelRegistryService(db, rdb, service.ModelRegistryConfig{
|
||||
|
||||
Reference in New Issue
Block a user