Documentation
¶
Index ¶
- func NewMessageId(id int) pulsar.MessageID
- func NewPulsarAdminClient(config *commonconfig.PulsarConfig) (pulsarclient.Client, error)
- func NewPulsarClient(config *commonconfig.PulsarConfig) (pulsar.Client, error)
- type MockMessageId
- type MockPulsarMessage
- type NoOpPublisher
- type Publisher
- type PulsarPublisher
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewMessageId ¶
func NewPulsarAdminClient ¶ added in v0.20.2
func NewPulsarAdminClient(config *commonconfig.PulsarConfig) (pulsarclient.Client, error)
NewPulsarAdminClient TODO this returns our own copy of the pulsaradmin.Client, which contains a bug fix Once pulsar-client-go fixes the bug, we should use the upstream pulsaradmin.client Issue tracked - https://github.com/apache/pulsar-client-go/pull/1419
func NewPulsarClient ¶
func NewPulsarClient(config *commonconfig.PulsarConfig) (pulsar.Client, error)
Types ¶
type MockMessageId ¶
type MockPulsarMessage ¶
func NewPulsarMessage ¶
func NewPulsarMessage(id int, publishTime time.Time, payload []byte) MockPulsarMessage
func (MockPulsarMessage) ID ¶
func (m MockPulsarMessage) ID() pulsar.MessageID
func (MockPulsarMessage) Payload ¶
func (m MockPulsarMessage) Payload() []byte
func (MockPulsarMessage) Properties ¶
func (m MockPulsarMessage) Properties() map[string]string
func (MockPulsarMessage) PublishTime ¶
func (m MockPulsarMessage) PublishTime() time.Time
type NoOpPublisher ¶ added in v0.18.4
type NoOpPublisher[T utils.ArmadaEvent] struct{}
NoOpPublisher is an implementation of Publisher that doesn't do anything.
func (NoOpPublisher[T]) Close ¶ added in v0.18.4
func (n NoOpPublisher[T]) Close()
func (NoOpPublisher[T]) PublishMessages ¶ added in v0.18.4
func (n NoOpPublisher[T]) PublishMessages(_ *armadacontext.Context, _ ...T) error
type Publisher ¶ added in v0.4.44
type Publisher[T utils.ArmadaEvent] interface { PublishMessages(ctx *armadacontext.Context, events ...T) error Close() }
Publisher is an interface to be implemented by structs that handle publishing messages to pulsar
type PulsarPublisher ¶ added in v0.4.44
type PulsarPublisher[T utils.ArmadaEvent] struct { // contains filtered or unexported fields }
PulsarPublisher is the default implementation of Publisher
func NewPulsarPublisher ¶ added in v0.4.44
func NewPulsarPublisher[T utils.ArmadaEvent]( pulsarClient pulsar.Client, producerOptions pulsar.ProducerOptions, preProcessor psutils.PreProcessor[T], keyRetriever psutils.KeyRetriever[T], sendTimeout time.Duration, ) (*PulsarPublisher[T], error)
func (*PulsarPublisher[T]) Close ¶ added in v0.4.44
func (p *PulsarPublisher[T]) Close()
func (*PulsarPublisher[T]) PublishMessages ¶ added in v0.4.44
func (p *PulsarPublisher[T]) PublishMessages(ctx *armadacontext.Context, events ...T) error
PublishMessages publishes all event sequences to pulsar. Event sequences for a given jobset will be combined into single event sequences up to maxMessageBatchSize.