# `mix phoenix_micro.gen.consumer`
[🔗](https://github.com/iamkanishka/phoenix_micro/blob/v1.0.0/lib/mix/tasks/phoenix_micro.gen.consumer.ex#L1)

Generates a PhoenixMicro consumer module with the correct DSL boilerplate.

## Usage

    mix phoenix_micro.gen.consumer MyApp.Payments.CreatedConsumer payments.created

## Options

    --concurrency N       Processor pool size (default: 5)
    --batch-size N        Batch size for handle_batch/4 (default: 1)
    --batch-timeout N     Batch flush timeout in ms (default: 1000)
    --retry N             Max retry attempts (default: 3)
    --transport NAME      Transport to use: rabbitmq|kafka|nats|redis_streams|memory
    --queue-group NAME    Queue group / consumer group name
    --dlq TOPIC           Dead-letter topic (default: dlq.<topic>)
    --middleware MOD,...  Comma-separated middleware modules
    --no-middleware       Skip default middleware

## Example

    mix phoenix_micro.gen.consumer MyApp.Orders.PlacedConsumer orders.placed \
      --concurrency 10 \
      --retry 5 \
      --transport rabbitmq

Generates `lib/my_app/orders/placed_consumer.ex` and a matching
test file `test/my_app/orders/placed_consumer_test.exs`.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
