暂存一下,防止丢失
This commit is contained in:
31
internal/task/notification_cleanup.go
Normal file
31
internal/task/notification_cleanup.go
Normal file
@@ -0,0 +1,31 @@
|
||||
package task
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/hibiken/asynq"
|
||||
"go.uber.org/zap"
|
||||
|
||||
notificationinfra "github.com/break/junhong_cmp_fiber/internal/infrastructure/notification"
|
||||
)
|
||||
|
||||
// NotificationCleanupHandler 处理低峰通知保留清理任务。
|
||||
type NotificationCleanupHandler struct {
|
||||
service *notificationinfra.CleanupService
|
||||
logger *zap.Logger
|
||||
}
|
||||
|
||||
// NewNotificationCleanupHandler 创建通知保留清理任务处理器。
|
||||
func NewNotificationCleanupHandler(service *notificationinfra.CleanupService, logger *zap.Logger) *NotificationCleanupHandler {
|
||||
return &NotificationCleanupHandler{service: service, logger: logger}
|
||||
}
|
||||
|
||||
// Handle 执行有界、可重入的通知分批清理。
|
||||
func (h *NotificationCleanupHandler) Handle(ctx context.Context, _ *asynq.Task) error {
|
||||
h.logger.Info("开始执行站内通知保留清理")
|
||||
if err := h.service.Run(ctx); err != nil {
|
||||
h.logger.Error("站内通知保留清理失败", zap.String("failure_category", "database"), zap.Error(err))
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
Reference in New Issue
Block a user