Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/mantis-software-company/rabbitmq2solr

Simple utility that consumes messages from a RabbitMQ queue and index to Solr
https://github.com/mantis-software-company/rabbitmq2solr

Last synced: about 1 month ago
JSON representation

Simple utility that consumes messages from a RabbitMQ queue and index to Solr

Awesome Lists containing this project

README

        

# rabbitmq2solr

rabbitmq2solr is a simple utility that consumes messages from a RabbitMQ queue and index to Solr.
Messages are expected to be JSON documents that send to Solr update endpoint. If indexing fails, the message is sent to a dead letter queue for later use.
The messages that sent to DLQ, delivered as persistent messages. This job will exit when the queue is empty.

# Environment Variables

- `MQ_HOST`: The hostname of the RabbitMQ server.
- `MQ_PORT`: The port of the RabbitMQ server. Optional. Default: 5672.
- `MQ_USER`: The username to use when connecting to the RabbitMQ server.
- `MQ_PASS`: The password to use when connecting to the RabbitMQ server.
- `MQ_VHOST`: The virtual host to use when connecting to the RabbitMQ server.
- `MQ_QUEUE`: The name of the queue to consume messages from.
- `MQ_QUEUE_DURABLE`: Whether or not the queue should be durable. Optional. Default: True.
- `MQ_DLQ_EXCHANGE`: The exchange of the dead letter queue to use. If index errors occur, messages will be moved to this queue.
- `MQ_DLQ_ROUTING_KEY`: The routing key of the dead letter queue to use.
- `SOLR_BASE_URL`: The base url of the Solr server. Example: http://localhost:8983/solr (without trailing slash).
- `SOLR_COLLECTION`: The name of the Solr collection to index to. Optional. Default: Routing key of message.
- `LOG_LEVEL`: The log level to use. Optional. Default: DEBUG.
- `CONSUMER_POOL_SIZE`: The number of concurrent consumers to use.