API Reference Kombu v#0.1.0

Copy Markdown View Source

Modules

Top-level facade for the Kombu messaging library for Elixir.

Represents a queue or exchange binding (kombu.entity.binding).

Convenience module for creating broadcast queues (kombu.common.Broadcast).

Unified dispatch interface for Kombu channels (Virtual, Memory, Redis, or test mocks).

Logical clocks and synchronization matching kombu.clocks.

Lamport logical clock backed by :atomics for lock-free thread/process safety (kombu.clocks.LamportClock).

Event clock tuple (kombu.clocks.timetuple).

Process-safe manager for incrementing/decrementing a channel's prefetch_count (kombu.common.QoS).

Message compression and decompression registry matching kombu.compression.

Broker connection (kombu.Connection), managing transport resolution, URL parsing, multi-URL failover (round-robin / shuffle), lazy connection & default channel creation, and operation retry (ensure_connection/2, ensure/4, autoretry/3).

Message Consumer (kombu.Consumer).

OTP GenServer behavior and base implementation mirroring Python Kombu's ConsumerMixin and ConsumerProducerMixin.

Exception hierarchy for Kombu, matching Python kombu.exceptions.

An Exchange declaration (kombu.entity.Exchange).

Pattern matching registry matching kombu.matcher. Supports glob (default) and pcre matchers.

Base class for received messages (kombu.message.Message and kombu.transport.virtual.base.Message).

Generic process mailbox and node routing matching kombu.pidbox. Used by Celery remote control commands (broadcast, inspect, ping, etc.).

Process Mailbox (kombu.pidbox.Mailbox).

Mailbox node routing and command dispatcher (kombu.pidbox.Node).

Connection, Channel, and Producer pools (kombu.pools).

Pool of channels (kombu.connection.ChannelPool).

Pool of %Kombu.Connection{} instances (kombu.connection.ConnectionPool).

Pool of %Kombu.Producer{} instances (kombu.pools.ProducerPool).

Message Producer (kombu.Producer).

A Queue declaration (kombu.entity.Queue).

Generic LIFO resource pool (kombu.resource.Resource).

Serializer registry and message payload encoding/decoding matching kombu.serialization.

Simple messaging interface providing SimpleQueue (persistent queues) and SimpleBuffer (ephemeral queues).

Simple API for ephemeral queues.

Simple API for persistent queues.

Transport behaviour and transport alias resolution (kombu.transport).

In-memory virtual transport (kombu.transport.memory), supporting direct, topic, and fanout exchanges.

In-memory virtual channel process (kombu.transport.memory.Channel).

Shared state store for the in-memory transport, holding the %BrokerState{} and in-memory :queue queues.

Redis transport (kombu.transport.redis.Transport).

Redis virtual channel (kombu.transport.redis.Channel).

Lua scripts used by the Redis transport (kombu.transport.redis) for atomic binding deadline tracking and sweeping of expired queue bindings.

Multi-channel event poller for Redis (kombu.transport.redis.MultiChannelPoller).

Redis client wrapper (kombu.transport.redis.PrefixedStrictRedis & PrefixedRedisPubSub) that transparently applies global_keyprefix to keys, pipelines, Lua script keys, BRPOP keys, and Pub/Sub patterns/channels.

Batched Redis publisher (kombu.transport.redis.PublishBatch).

Redis Ack Emulation (kombu.transport.redis.QoS).

Holds virtual broker exchanges, bindings, and queue indices (kombu.transport.virtual.base.BrokerState).

Shared virtual channel operations (kombu.transport.virtual.base.Channel).

Virtual AMQ Exchange type implementations (direct, topic, fanout), ported from kombu.transport.virtual.exchange.

Direct exchange routing based on exact routing key matches.

Fanout exchange broadcasting messages to all bound queues.

Topic exchange routing based on dot-separated words with * and # wildcards.

Virtual channel Quality of Service (kombu.transport.virtual.base.QoS). Manages prefetch_count limits and unacknowledged message tracking/restoration.

Extended JSON serialization utilities matching kombu.utils.json.

Explicit wrapper for raw bytes when a UTF-8 binary should be tagged as {"__type__": "bytes"}.

Token bucket rate limiting matching kombu.utils.limits.

Token Bucket rate limiter (kombu.utils.limits.TokenBucket).

Functional utilities, LRU cache, and retry helpers matching kombu.utils.functional and kombu.utils.time.

Least-Recently-Used (LRU) bounded cache (kombu.utils.functional.LRUCache).

Scheduling and resource cycling utilities matching kombu.utils.scheduling.

Polling cycle implementation supporting :round_robin, :priority, and :sorted (kombu.utils.scheduling.round_robin_cycle, priority_cycle, sorted_cycle).

Cycle fairly between resources (kombu.utils.scheduling.FairCycle).

URL parsing and sanitization utilities matching kombu.utils.url.

Struct representing parsed URL components (kombu.utils.url.urlparts).

UUID generation and representation utilities, matching kombu.utils.uuid and kombu.common.oid_from.