Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Expand
titleDefault Transport Settings

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


Messages

Code Block
languageruby
## 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