mfx

package
v1.0.2 Latest Latest
Warning

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

Go to latest
Published: Jun 7, 2024 License: MIT Imports: 9 Imported by: 9

Documentation

Index

Constants

This section is empty.

Variables

View Source
var LocalModule = fx.Provide(
	func(l *zap.Logger, s SettingsParams) (out LocalResult, err error) {
		err = out.Execute(l, s)
		return
	},
)
View Source
var MqModule = fx.Provide(
	func(ap mfx.AppParams, i MQImplementations) (out MessageQueueResult, err error) {
		deployment := utility.ParseDeployments(ap.Deployment)
		err = out.Execute(deployment, i)
		return
	},
)
View Source
var NatsModule = fx.Provide(
	func(l *zap.Logger, s SettingsParams) (out NatsResult, err error) {
		err = out.Execute(l, s)
		return
	},
)
View Source
var SettingModule = fx.Provide(
	func() (out SettingsResult, err error) {
		err = out.LoadFromEnv()
		return
	},
)

Functions

This section is empty.

Types

type LocalResult added in v1.0.2

type LocalResult struct {
	fx.Out
	Local miface.MessageQueue `name:"LocalMQ"`
}

func (*LocalResult) Execute added in v1.0.2

func (k *LocalResult) Execute(logger *zap.Logger, s SettingsParams) error

type MQImplementations

type MQImplementations struct {
	fx.In

	NatsMQ  miface.MessageQueue `name:"NatsMQ" optional:"true"`
	KafkaMQ miface.MessageQueue `name:"KafkaMQ" optional:"true"`
	NsqMQ   miface.MessageQueue `name:"NsqMQ" optional:"true"`
	LocalMQ miface.MessageQueue `name:"LocalMQ" optional:"true"`
}

type MessageQueueParams

type MessageQueueParams struct {
	fx.In

	MessageQueue miface.MessageQueue `name:"MessageQueue"`
}

type MessageQueueResult

type MessageQueueResult struct {
	fx.Out

	MessageQueue miface.MessageQueue `name:"MessageQueue"`
}

func (*MessageQueueResult) Execute

func (g *MessageQueueResult) Execute(deploy utility.Deployments, i MQImplementations) (err error)

type NatsResult

type NatsResult struct {
	fx.Out
	NatsMQ miface.MessageQueue `name:"NatsMQ"`
}

func (*NatsResult) Execute

func (k *NatsResult) Execute(logger *zap.Logger, s SettingsParams) (err error)

type SettingsParams

type SettingsParams struct {
	fx.In

	// Local channel buffer size
	// https://github.com/ThreeDotsLabs/watermill/blob/master/pubsub/gochannel/pubsub.go#L15
	ChannelBufferSize              int64 `name:"ChannelBufferSize"`
	Persistent                     bool  `name:"Persistent"`
	BlockPublishUntilSubscriberAck bool  `name:"BlockPublishUntilSubscriberAck"`

	// NatsUrl is the URL of the NATS server.
	NatsUrl string `name:"NatsUrl"`
}

type SettingsResult

type SettingsResult struct {
	fx.Out

	// Local Channel buffer size
	// https://github.com/ThreeDotsLabs/watermill/blob/master/pubsub/gochannel/pubsub.go#L15
	ChannelBufferSize              int64 `name:"ChannelBufferSize" envconfig:"CHANNEL_BUFFER_SIZE" default:"1024"`
	Persistent                     bool  `name:"Persistent" envconfig:"PERSISTENT" default:"false"`
	BlockPublishUntilSubscriberAck bool  `name:"BlockPublishUntilSubscriberAck" envconfig:"BLOCK_PUBLISH_UNTIL_SUBSCRIBER_ACK" default:"false"`

	// NatsUrl is the URL of the NATS server.
	NatsUrl string `name:"NatsUrl" envconfig:"NATS_URL" default:"nats://localhost:4222"`
}

func (*SettingsResult) LoadFromEnv

func (ar *SettingsResult) LoadFromEnv() (err error)

Jump to

Keyboard shortcuts

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