Transport

 

{ "transport": { "rabbitmq": { "user": "guest", "password": "guest", "host": "localhost", "port": 5672, "logger_level": "info" } } }

 


Messages

 

## Message options for message classes/modules def priority 0 end def expiration nil end def type 'task' end def validate @valid = true end def message @options end def exchange_name lex = self.class.ancestors.first.to_s.split('::')[2].downcase "Legion::Extensions::#{lex.capitalize}::Transport::Exchanges::#{lex.capitalize}" end def exchange Kernel.const_get(exchange_name) end def encrypt? false end

 

 

You can set priority to allow for messages to be processed with priority over lower priority messages priority docs

Message TTL. Message will expire after this many milliseconds message ttl docs

Add custom logic including raising exceptions to make sure your message has what it needs

You can override the message payload

The encrypt? method will automatically encrypt messages with the cluster-secret. If you are using the Subscription actor, it will automatically decrypt the payload based on the content-encoding header