package workers

import (
	"context"

	"github.com/pingcap/dbaas/billing2/config"
	"github.com/pingcap/dbaas/billing2/model/billing/metering"
	"github.com/pingcap/dbaas/billing2/utils/log"
	"go.uber.org/zap"
)

func SnapshotMeteringRawOutboxWorker() error {
	if !config.Get().GetBool(config.EnableSnapshotMeteringRawOutbox) {
		return nil
	}
	ctx := context.Background()
	store, err := metering.NewRawMeteringS3Store(ctx)
	if err != nil {
		log.Error("failed to create snapshot metering raw s3 client", zap.Error(err))
		return err
	}
	_, err = metering.ProcessRawMeteringOutbox(ctx, store)
	return err
}
