Class Bunny::Queue
In: lib/bunny/queue08.rb
Parent: Qrack::Queue

DESCRIPTION:

Queues store and forward messages. Queues can be configured in the server or created at runtime. Queues must be attached to at least one exchange in order to receive messages from publishers.

Methods

ack   bind   delete   new   pop   purge   status   subscribe   unbind   unsubscribe  

Public Class methods

Public Instance methods

DESCRIPTION:

Acknowledges one or more messages delivered via the Deliver or Get-Ok methods. The client can ask to confirm a single message or a set of messages up to and including a specific message.

OPTIONS:

  • :delivery_tag
  • :multiple => true or false (default) - If set to true, the delivery tag is treated as "up to and including", so that the client can acknowledge multiple messages with a single method. If set to false, the delivery tag refers to a single message. If the multiple field is true, and the delivery tag is zero, tells the server to acknowledge all outstanding messages.

DESCRIPTION:

Binds a queue to an exchange. Until a queue is bound it will not receive any messages. Queues are bound to the direct exchange ’’ by default. If error occurs, a Bunny::ProtocolError is raised.

  • :key => ‘routing key’* <tt>:key => ‘routing_key‘ - Specifies the routing key for the binding. The routing key is used for routing messages depending on the exchange configuration.
  • :nowait => true or false (default) - Ignored by Bunny, always false.

RETURNS:

:bind_ok if successful.

DESCRIPTION:

Requests that a queue is deleted from broker/server. When a queue is deleted any pending messages are sent to a dead-letter queue if this is defined in the server configuration. Removes reference from queues if successful. If an error occurs raises Bunny::ProtocolError.

Options:

  • :if_unused => true or false (default) - If set to true, the server will only delete the queue if it has no consumers. If the queue has consumers the server does not delete it but raises a channel exception instead.
  • :if_empty => true or false (default) - If set to true, the server will only delete the queue if it has no messages. If the queue is not empty the server raises a channel exception.
  • :nowait => true or false (default) - Ignored by Bunny, always false.

Returns:

:delete_ok if successful

DESCRIPTION:

Gets a message from a queue in a synchronous way. If error occurs, raises Bunny::ProtocolError.

OPTIONS:

  • :ack => false (default) or true - If set to false, the server does not expect an acknowledgement message from the client. If set to true, the server expects an acknowledgement message from the client and will re-queue the message if it does not receive one within a time specified by the server.

RETURNS:

Hash {:header, :payload, :delivery_details}. :delivery_details is a hash {:consumer_tag, :delivery_tag, :redelivered, :exchange, :routing_key}.

If the queue is empty the returned hash will contain the values -

  :header => nil
  :payload => :queue_empty
  :delivery_details => nil

N.B. If a block is provided then the hash will be passed into the block and the return value will be nil.

DESCRIPTION:

Removes all messages from a queue. It does not cancel consumers. Purged messages are deleted without any formal "undo" mechanism. If an error occurs raises Bunny::ProtocolError.

Options:

  • :nowait => true or false (default) - Ignored by Bunny, always false.

Returns:

:purge_ok if successful

DESCRIPTION:

Returns hash {:message_count, :consumer_count}.

DESCRIPTION:

Removes a queue binding from an exchange. If error occurs, a Bunny::ProtocolError is raised.

OPTIONS:

  • :key => ‘routing key’* <tt>:key => ‘routing_key‘ - Specifies the routing key for the binding.
  • :nowait => true or false (default) - Ignored by Bunny, always false.

RETURNS:

:unbind_ok if successful.

DESCRIPTION:

Cancels a consumer. This does not affect already delivered messages, but it does mean the server will not send any more messages for that consumer.

OPTIONS:

  • :consumer_tag => ‘tag - Specifies the identifier for the consumer.
  • :nowait => true or false (default) - Ignored by Bunny, always false.

Returns:

:unsubscribe_ok if successful

[Validate]