data

package
v0.0.0-...-b9c99d5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 20, 2025 License: MIT Imports: 66 Imported by: 0

README

Data

Documentation

Index

Constants

View Source
const (
	BusesVersionID = 1

	TopicTypeSource         = "Source"         // source topic
	TopicTypeSourceDelay    = "SourceDelay"    // source delay topic
	TopicTypeTargetExpDecay = "TargetExpDecay" // target exponential decay topic
	TopicTypeTargetBackoff  = "TargetBackoff"  // target backoff topic
)

Variables

ProviderSet is data providers.

Functions

func NewBusReflector

func NewBusReflector(
	logger log.Logger,
	db *ent.Client,
) (informer.Reflector, error)

func NewConfig

func NewConfig(ai *conf.AppInfo) (config.Config, func(), error)

func NewConfigBootstrap

func NewConfigBootstrap(c config.Config) (*conf.Bootstrap, error)

func NewEntClient

func NewEntClient(
	conf *conf.Bootstrap, m *Metric, l log.Logger,
) (*ent.Client, func(), error)

func NewEventRepo

func NewEventRepo(logger log.Logger, conf *conf.Bootstrap, sd Sender, m *Metric, rs rule.Rules) biz.EventRepo

func NewLogger

func NewLogger(ai *conf.AppInfo, cfg *conf.Bootstrap) (log.Logger, func(), error)

func NewReceiver

func NewReceiver(b Bus) event.Receiver

func NewRegistrar

func NewRegistrar(_ *conf.Bootstrap) (registry.Registrar, error)

func NewRuleReflector

func NewRuleReflector(
	logger log.Logger,
	db *ent.Client,
) (informer.Reflector, error)

func NewRules

func NewRules(logger log.Logger, conf *conf.Bootstrap, db *ent.Client, m *Metric) (rule.Rules, func(), error)

func NewTracerProvider

func NewTracerProvider(
	ai *conf.AppInfo, conf *conf.Bootstrap, l log.Logger,
) (trace.TracerProvider, func(), error)

Types

type Bus

type Bus interface {
	Sender
	event.Receiver
}

func NewBuses

func NewBuses(
	logger log.Logger,
	reflector informer.Reflector,
	bc *conf.Bootstrap,
	m *Metric,
) (Bus, error)

type MQConsumer

type MQConsumer interface {
	Receive(
		ctx context.Context, handler event.Handler, mode v1.BusWorkMode,
		timeout time.Duration, workers uint32, runningWorkers metric.Int64Gauge,
	) error
	io.Closer
}

func NewRocketMQConsumer

func NewRocketMQConsumer(
	logger log.Logger, busName string, topicType string, endpoints string, topic string,
) (MQConsumer, error)

type MQProducer

type MQProducer interface {
	Send(ctx context.Context, topic string, mode v1.BusWorkMode, eventExt *rule.EventExt) error
	io.Closer
}

func NewRocketMQProducer

func NewRocketMQProducer(endpoints, topic string) (MQProducer, error)

type MQTopic

type MQTopic struct {
	Type      v1.MQType `json:"type"`
	Endpoints string    `json:"endpoints"` // "endpoint1;endpoint2"
	Topic     string    `json:"topic"`
}

MQTopic should be able to compare values and cannot contain pointers

type Metric

type Metric struct {
	ServerCodeTotal      metric.Int64Counter
	ServerDurationSec    metric.Float64Histogram
	DbDurationSec        metric.Float64Histogram
	PostEventCount       metric.Int64Counter
	PostEventDurationSec metric.Float64Histogram
	RunningWorkers       metric.Int64Gauge
	RuleExecTotal        metric.Int64Counter
	RuleExecSec          metric.Float64Histogram
}

func NewMetric

func NewMetric(ai *conf.AppInfo) (*Metric, error)

type Sender

type Sender interface {
	Send(ctx context.Context, eventExt *rule.EventExt) error
}

func NewSender

func NewSender(b Bus) Sender

Directories

Path Synopsis
ent

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL