Module: Karafka::Pro::Cleaner::Messages::Message
- Defined in:
- lib/karafka/pro/cleaner/messages/message.rb
Overview
Extensions to the message that allow for granular memory control on a per message basis
Instance Method Summary collapse
-
#clean! ⇒ Object
Cleans the message payload and removes the deserialized data references This is useful when working with big messages that take a lot of space.
-
#cleaned? ⇒ Boolean
True if the message has been cleaned.
-
#payload ⇒ Object
Lazy-deserialized data (deserialized upon first request).
Instance Method Details
#clean! ⇒ Object
Cleans the message payload and removes the deserialized data references This is useful when working with big messages that take a lot of space.
After the message content is no longer needed, it can be removed so it does not consume space anymore.
37 38 39 40 41 |
# File 'lib/karafka/pro/cleaner/messages/message.rb', line 37 def clean! @deserialized = false @raw_payload = false @payload = nil end |
#cleaned? ⇒ Boolean
Returns true if the message has been cleaned.
28 29 30 |
# File 'lib/karafka/pro/cleaner/messages/message.rb', line 28 def cleaned? @raw_payload == false end |
#payload ⇒ Object
Returns lazy-deserialized data (deserialized upon first request).
22 23 24 25 |
# File 'lib/karafka/pro/cleaner/messages/message.rb', line 22 def payload # If message has already been cleaned, it cannot be deserialized again cleaned? ? raise(Errors::MessageCleanedError) : super end |