An IronMq client based on Akka-http.
An IronMq client based on Akka-http.
This client provide a subset of the operation you can do by the IronMQ protocol. It is not intended to be used by the final user but as internal API. Still it could be used to create/list/delete queues if needed.
This stage will fetch messages from IronMq and buffer them internally.
This stage will fetch messages from IronMq and buffer them internally.
It is implemented as a timed loop, each invocation will fetch new messages from IronMq if the amount of buffered messages is lower than ConsumerSettings.bufferMinSize.
The frequency of the loop is controlled by ConsumerSettings.fetchInterval while the amount of time the client is blocked on the HTTP request waiting for messages is controlled by ConsumerSettings.pollTimeout.
Keep in mind that the IronMq time unit is the second, so any value below the second is considered 0.
It is a very trivial IronMQ push stage.
It is a very trivial IronMQ push stage. It push the message to IronMq as soon as they are pushed to this Stage.
Because of that it does not guarantee the order of the produced messages and does not apply any backpressure. A more sophisticated implementation will buffer the messages before pushing them and allow only a certain amount of parallel requests.
IronMQ settings.
IronMQ settings. To a detailed documentation please refer to the reference.conf.
The message consumed from IronMq.
The message consumed from IronMq.
The unique id of the message.
The pushed message content.
It is the count of how many time the message has been reserved (and released or expired) previously
Simplified representation of the IronMq queue.
Simplified representation of the IronMq queue.
The name associated with this Queue.
Represent a message reservation.
Represent a message reservation. It is used when you need to delete or release a reserved message. It is obtained from a ReservedMessage by message id and reservation id.
The previously reserved message Id.
The reservation id
The message reserved from IronMq.
The message reserved from IronMq.
This message has been ask to be reserved from IronMq. It contains both the message itself and the reservation id.
The reservation id needed to release or delete the message.
The fetched message.
This is a utility implicit class to allow convert a java.time.Duration in a FiniteDuration.
This implicit classes allow to convert the Committable and CommittableMessage between scaladsl and javadsl.