pubsub

package
v1.0.0-dev.123 Latest Latest
Warning

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

Go to latest
Published: Sep 21, 2024 License: MIT Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func New

func New[T any](client *pubsub.Client) function.CmdFunc[T]

New returns CmdFunc for cloudevents command.

Types

type Helper

type Helper[T any] struct {
	// contains filtered or unexported fields
}

Helper assists in creating event handlers for Pub/Sub with multiple topics.

func NewHelper

func NewHelper[T any](client *pubsub.Client, handler function.Handler[T]) *Helper[T]

NewHelper returns a new Helper with default options.

func NewHelperWithOptions

func NewHelperWithOptions[T any](client *pubsub.Client, handler function.Handler[T], options *Options) *Helper[T]

NewHelperWithOptions returns a new Helper with custom options.

func (*Helper[T]) Start

func (h *Helper[T]) Start()

Start subscribes to the topics and processes messages concurrently.

type Options

type Options struct {
	Topics      []string
	Concurrency int64         // Max concurrent workers
	Backoff     bool          // Enable backoff
	BackoffBase time.Duration // Base backoff duration
	MaxBackoff  time.Duration // Max backoff duration
	RetryLimit  int           // Limit retries, -1 for infinite retries
}

Options can be used to create customized handler.

func DefaultOptions

func DefaultOptions() (*Options, error)

DefaultOptions returns options based in config.

type Subscriber

type Subscriber[T any] struct {
	// contains filtered or unexported fields
}

Subscriber contains the Pub/Sub client, handler function, and options

func NewSubscriber

func NewSubscriber[T any](client *pubsub.Client, handler function.Handler[T], topic string, options *Options) *Subscriber[T]

NewSubscriber returns a subscriber listener.

func (*Subscriber[T]) Subscribe

func (l *Subscriber[T]) Subscribe(ctx context.Context) error

Subscribe subscribes and consumes messages from multiple Pub/Sub topics concurrently

Jump to

Keyboard shortcuts

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