LavinMQ::AMQP::DelayedQueue::DelayedMessageStore
Inherits LavinMQ::MessageStore < Reference < Object
A delayed queue must have its messages ordered by "expire at" so the message expire loop will look at the right message. To achieve this, messages are always added to a custom requeued store, which acts as an in-memory index ordered by when messages should be published. The requeued store is used because #shift and #first? look for requeued messages first, then read the next from disk. For a delayed queue we never want to read messages in the order they arrived (were written to disk).
Constructors
new(*args, **kwargs)
SourceInstance methods
build_index
Sourcefirst_delayed?
Sourcepurge_all
Sourcerequeue(sp : SegmentPosition)
Sourceshift_delayed?(consumer = nil) : Envelope | Nil
Source