https://github.com/optum/legion-transport
The LegionIO connection gem to connect any extension with the transport tier
https://github.com/optum/legion-transport
amqp legionio queue rabbitmq ruby
Last synced: about 1 year ago
JSON representation
The LegionIO connection gem to connect any extension with the transport tier
- Host: GitHub
- URL: https://github.com/optum/legion-transport
- Owner: Optum
- License: apache-2.0
- Created: 2021-06-01T22:13:11.000Z (about 5 years ago)
- Default Branch: main
- Last Pushed: 2021-06-09T19:20:55.000Z (about 5 years ago)
- Last Synced: 2025-04-14T15:22:01.881Z (about 1 year ago)
- Topics: amqp, legionio, queue, rabbitmq, ruby
- Language: Ruby
- Homepage:
- Size: 25.4 KB
- Stars: 1
- Watchers: 3
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
README
Legion::Transport
=====
Legion::Transport is the gem responsible for connecting LegionIO to the FIFO queue system(RabbitMQ over AMQP 0.9.1)
Supported Ruby versions and implementations
------------------------------------------------
Legion::Transport should work identically on:
* JRuby 9.2+
* Ruby 2.4+
Installation and Usage
------------------------
You can verify your installation using this piece of code:
```bash
gem install legion-transport
```
```ruby
require 'legion/transport'
conn = Legion::Transport::Connection
conn.setup
conn.channel # => ::Bunny::Channel
conn.session # => ::Bunny::Session
```
Settings
----------
```json
{
"type": "rabbitmq",
"connected": false,
"logger_level": "info",
"messages": {
"encrypt": false,
"ttl": null,
"priority": 0,
"persistent": true
},
"prefetch": 2,
"exchanges": {
"type": "topic",
"arguments": {},
"auto_delete": false,
"durable": true,
"internal": false
},
"queues": {
"manual_ack": true,
"durable": true,
"exclusive": false,
"block": false,
"auto_delete": false,
"arguments": {
"x-max-priority": 255,
"x-overflow": "reject-publish"
}
},
"connection": {
"read_timeout": 1,
"heartbeat": 30,
"automatically_recover": true,
"continuation_timeout": 4000,
"network_recovery_interval": 1,
"connection_timeout": 1,
"frame_max": 65536,
"user": "guest",
"password": "guest",
"host": "127.0.0.1",
"port": "5672",
"vhost": "/",
"recovery_attempts": 100,
"logger_level": "info",
"connected": false
},
"channel": {
"default_worker_pool_size": 1,
"session_worker_pool_size": 8
}
}
```
Authors
----------
* [Matthew Iverson](https://github.com/Esity) - current maintainer