PhoenixMicro.Transport.RedisStreams (PhoenixMicro v1.0.0)

Copy Markdown View Source

Redis Streams transport adapter using Redix.

Uses the Redis Streams data structure (XADD / XREADGROUP / XACK) for durable, consumer-group-aware messaging with at-least-once delivery.

Features

  • Consumer groups via XREADGROUP / XACK.
  • Pending entry list (PEL) recovery on restart via XAUTOCLAIM.
  • DLQ routing for exhausted retries.
  • Configurable block timeout and batch size.

Configuration

config :phoenix_micro,
  transports: [
    redis_streams: [
      url: "redis://localhost:6379",
      consumer_group: "phoenix_micro",
      consumer_name: "node_1",
      block_ms: 2_000,
      batch_size: 10,
      claim_idle_ms: 30_000
    ]
  ]

Summary

Functions

Returns a specification to start this module under a supervisor.

Functions

child_spec(init_arg)

@spec child_spec(keyword()) :: Supervisor.child_spec()

Returns a specification to start this module under a supervisor.

See Supervisor.

start_link(opts \\ [])

@spec start_link(keyword()) :: GenServer.on_start()