Documentation
¶
Index ¶
Constants ¶
View Source
const ( MetricEnqueuedTotal = "enqueued_total" MetricSentTotal = "sent_total" MetricFailedTotal = "failed_total" LabelEvent = "event" LabelDeliveryType = "delivery_type" LabelReason = "reason" DeliveryTypePush = "push" DeliveryTypeSSE = "sse" DeliveryTypeUnknown = "unknown" FailureReasonSerializationError = "serialization_error" FailureReasonPublishError = "publish_error" FailureReasonProviderFailed = "provider_failed" EventTypeUnknown = "unknown" )
Metric constants
Variables ¶
View Source
var Module = fx.Module( "events", fx.Decorate(func(log *zap.Logger) *zap.Logger { return log.Named("events") }), fx.Provide(newMetrics, fx.Private), fx.Provide(NewService), fx.Invoke(func(lc fx.Lifecycle, svc *Service, logger *zap.Logger, sh fx.Shutdowner) { ctx, cancel := context.WithCancel(context.Background()) lc.Append(fx.Hook{ OnStart: func(_ context.Context) error { go func() { if err := svc.Run(ctx); err != nil { logger.Error("Error running events service", zap.Error(err)) if err := sh.Shutdown(fx.ExitCode(1)); err != nil { logger.Error("Failed to shutdown", zap.Error(err)) } } }() return nil }, OnStop: func(_ context.Context) error { cancel() return nil }, }) }), )
Functions ¶
This section is empty.
Types ¶
type Event ¶
type Event struct {
EventType smsgateway.PushEventType `json:"event_type"`
Data map[string]string `json:"data"`
}
func NewEvent ¶
func NewEvent(eventType smsgateway.PushEventType, data map[string]string) Event
func NewMessageEnqueuedEvent ¶
func NewMessageEnqueuedEvent() Event
func NewSettingsUpdatedEvent ¶
func NewSettingsUpdatedEvent() Event
func NewWebhooksUpdatedEvent ¶
func NewWebhooksUpdatedEvent() Event
Click to show internal directories.
Click to hide internal directories.