Files
cloud-services/pkg/health/kafka.go

42 lines
739 B
Go

package health
import (
"context"
)
type GetKafkaConsumerFunc func() (KafkaConnCheckInterface, error)
func NewKafkaCheck(fn GetKafkaConsumerFunc) CheckFunc {
return func(ctx context.Context) error {
conn, err := fn()
if err != nil {
return err
}
return conn.Check(ctx)
}
}
type KafkaConnCheckInterface interface {
Check(ctx context.Context) error
}
type GetMultiKafkaConsumerFunc func() ([]KafkaConnCheckInterface, error)
func NewKafkaMultiCheck(fn GetMultiKafkaConsumerFunc) CheckFunc {
return func(ctx context.Context) error {
conns, err := fn()
if err != nil {
return err
}
for _, connection := range conns {
err = connection.Check(ctx)
if err != nil {
return err
}
}
return err
}
}