class MessagePack
Represents a coder that uses MessagePack for job serialization. MessagePack provides fast, compact serialization that is language-agnostic, making it suitable for cross-language job processing systems.
Definitions
def initialize
Initialize a new MessagePack coder with custom type registrations. Registers Symbol and Time types for proper serialization.
Implementation
def initialize
@factory = ::MessagePack::Factory.new
@factory.register_type(0x01, Symbol)
@factory.register_type(0x02, Time,
packer: ::MessagePack::Time::Packer,
unpacker: ::MessagePack::Time::Unpacker
)
end
def dump(job)
Serialize a job object using MessagePack.
Signature
-
parameter
job
Object
The job object to serialize.
-
returns
String
The serialized job data.
Implementation
def dump(job)
@factory.pack(job)
end
def load(data)
Deserialize job data using MessagePack.
Signature
-
parameter
data
String
The serialized job data.
-
returns
Object
The deserialized job object.
Implementation
def load(data)
@factory.unpack(data)
end
DEFAULT = self.new
Signature
-
attribute
Async::Job::Coder::MessagePack
The default MessagePack coder instance.