rabbitmq

package module
v0.12.0 Latest Latest
Warning

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

Go to latest
Published: Sep 13, 2022 License: MPL-2.0 Imports: 12 Imported by: 0

Documentation

Overview

Package rabbitmq provides a complete API to work with RabbitMQ.

Specifications leveraged:

  • Topic

Index

Constants

View Source
const Integration string = "rabbitmq"

Integration is the string representation of the RabbitMQ integration.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {

	// Integration represents the common config shared across all integrations.
	Integration integration.Config `json:"integration"`
}

Config is the configuration an end-user should set to configure the RabbitMQ integration.

func (*Config) Validate

func (config *Config) Validate() error

Validate validates the config passed by the end-user. It returns an error if anything critical occured.

type Handler

type Handler struct {
	// contains filtered or unexported fields
}

Handler handles the RabbitMQ integration and gives access to related workflows and activities.

func New

func New(ctx context.Context, config Config) (*Handler, error)

New returns a new rabbitmq Handler. It applies the configuration passed by the end-user.

func (*Handler) Close

func (h *Handler) Close() error

Close closes the integration and the specifications registered by the end-user. An error is returned in case the Handler has already been closed.

func (*Handler) Config added in v0.12.0

func (h *Handler) Config() integration.Config

Config returns the common integration's Config, which is the Config shared by all integrations.

func (*Handler) ConfigMap

func (h *Handler) ConfigMap() map[string]any

ConfigMap transforms the configuration to a map, including a "specifications" key with the configuration for each specification configured.

func (*Handler) Init

func (h *Handler) Init() error

Init initializes the integration and specifications the end-user wants to use. An error is returned in case the Handler has already been initialized.

func (*Handler) IsReady

func (h *Handler) IsReady() bool

IsReady returns if the integration is ready to be consumed by the end-user. The integration must be initialized and must not be closed. This also ensures the specifications leveraged are ready to be consumed. If one of them is not, the integration would not be ready.

func (*Handler) ListActivities

func (h *Handler) ListActivities() []string

ListActivities returns a sorted list of activities' name registered by the integration (and the specifications leveraged if applicable).

func (*Handler) ListWorkflows

func (h *Handler) ListWorkflows() []string

ListWorkflows returns a sorted list of workflows' name registered by the integration (and the specifications leveraged if applicable).

func (*Handler) RegisterWithTopic

func (h *Handler) RegisterWithTopic(w worker.Worker, config topic.Config) error

RegisterWithTopic registers the topic specification within the RabbitMQ integration. End-users will have access to workflows and activities exposed by the topic specification.

func (*Handler) String

func (h *Handler) String() string

String returns the string representation of the integration.

Jump to

Keyboard shortcuts

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