Gets messages from RabbitMQ and saves them in MongoDB
RABBITMQ_SOURCE_QUEUE_NAME
: RabbitMQ queue name which messages will be consume from.RABBITMQ_HOST
(default:localhost
): RabbitMQ host.RABBITMQ_PORT
(default:5672
): RabbitMQ port.RABBITMQ_USER
(default:guest
): RabbitMQ username.RABBITMQ_PASS
(default:guest
): RabbitMQ password.RABBITMQ_VHOST
(default:/
): RabbitMQ virtual host.APP_CONCURRENCY
(default:1
): Maximum number of messages that can be processed concurrently.APP_MIN_DURATION_IN_MILLISECONDS
(default:0
): Minimum message processing duration in milliseconds.APP_MAX_DURATION_IN_MILLISECONDS
(default:1000
): Minimum message processing duration in milliseconds.APP_ERROR_RATE
(default:0.1
): Error rate between0.0
and1.0
.MONGODB_URL
(default:mongodb://localhost:27017
): MongoDB connection URL.MONGODB_DATABASE_NAME
(default:persister
): MongoDB database name.MONGODB_COLLECTION_NAME
(default:events
): MongoDB collection name.
docker build . -t persister
docker run \
-e RABBITMQ_SOURCE_QUEUE_NAME="egg" \
-e RABBITMQ_HOST="localhost" \
-e RABBITMQ_PORT="5672" \
-e RABBITMQ_USER="guest" \
-e RABBITMQ_PASS="guest" \
-e RABBITMQ_VHOST="/" \
-e APP_CONCURRENCY="1" \
-e APP_MIN_DURATION_IN_MILLISECONDS="0" \
-e APP_MAX_DURATION_IN_MILLISECONDS="1000" \
-e APP_ERROR_RATE="0.1" \
-e MONGODB_URL="mongodb://localhost:27017" \
-e MONGODB_DATABASE_NAME="persister" \
-e MONGODB_COLLECTION_NAME="events" \
persister
Make sure to use the --net=host
option if RabbitMQ and MongoDB are running in the host network.