mirror of
https://github.com/EZ-Api/ez-api.git
synced 2026-01-13 17:47:51 +00:00
feat(core): implement sync outbox mechanism and refactor provider validation
- Introduce `SyncOutboxService` and model to retry failed CP-to-Redis sync operations - Update `SyncService` to handle sync failures by enqueuing tasks to the outbox - Centralize provider group and API key validation logic into `ProviderGroupManager` - Refactor API handlers to utilize the new manager and robust sync methods - Add configuration options for sync outbox (interval, batch size, retries)
This commit is contained in:
@@ -22,6 +22,7 @@ type Handler struct {
|
||||
rdb *redis.Client
|
||||
logWebhook *service.LogWebhookService
|
||||
logPartitioner *service.LogPartitioner
|
||||
groupManager *service.ProviderGroupManager
|
||||
}
|
||||
|
||||
func NewHandler(db *gorm.DB, logDB *gorm.DB, sync *service.SyncService, logger *service.LogWriter, rdb *redis.Client, partitioner *service.LogPartitioner) *Handler {
|
||||
@@ -36,6 +37,7 @@ func NewHandler(db *gorm.DB, logDB *gorm.DB, sync *service.SyncService, logger *
|
||||
rdb: rdb,
|
||||
logWebhook: service.NewLogWebhookService(rdb),
|
||||
logPartitioner: partitioner,
|
||||
groupManager: service.NewProviderGroupManager(),
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user