openmeter / app /common /progressmanager.go
Leon4gr45's picture
Upload folder using huggingface_hub (part 4)
1f10f31 verified
Raw
History Blame Contribute Delete
933 Bytes
package common
import (
"fmt"
"log/slog"
"github.com/google/wire"
"github.com/openmeterio/openmeter/app/config"
"github.com/openmeterio/openmeter/openmeter/progressmanager"
"github.com/openmeterio/openmeter/openmeter/progressmanager/adapter"
)
var ProgressManager = wire.NewSet(
NewProgressManager,
)
// NewProgressManager creates a new progress manager service.
func NewProgressManager(logger *slog.Logger, conf config.ProgressManagerConfiguration) (progressmanager.Service, error) {
if !conf.Enabled {
return adapter.NewNoop(), nil
}
redisClient, err := conf.Redis.NewClient()
if err != nil {
return nil, fmt.Errorf("progress manager redis: %w", err)
}
pm, err := adapter.New(adapter.Config{
Expiration: conf.Expiration,
KeyPrefix: conf.KeyPrefix,
Logger: logger,
Redis: redisClient,
})
if err != nil {
return nil, fmt.Errorf("progress manager adapter: %w", err)
}
return pm, nil
}