Class: KubeMQ::Queues::QueuePollRequest

Inherits:
Object
  • Object
show all
Defined in:
lib/kubemq/queues/queue_poll_request.rb

Overview

Configuration for polling messages from a queue channel.

Pass to KubeMQ::QueuesClient#poll or DownstreamReceiver#poll to receive messages from a queue with transactional acknowledgement support.

Examples:

Poll for up to 10 messages with 5-second wait

request = KubeMQ::Queues::QueuePollRequest.new(
  channel: "tasks.process",
  max_items: 10,
  wait_timeout: 5
)
response = client.poll(request)

See Also:

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(channel:, max_items: 1, wait_timeout: 1, auto_ack: false) ⇒ QueuePollRequest

Note:

wait_timeout is in seconds

Returns a new instance of QueuePollRequest.

Parameters:

  • channel (String)

    queue channel to poll from (required)

  • max_items (Integer) (defaults to: 1)

    max messages to receive (default: 1)

  • wait_timeout (Integer) (defaults to: 1)

    wait timeout in seconds (default: 1)

  • auto_ack (Boolean) (defaults to: false)

    auto-acknowledge on receipt (default: false)



69
70
71
72
73
74
# File 'lib/kubemq/queues/queue_poll_request.rb', line 69

def initialize(channel:, max_items: 1, wait_timeout: 1, auto_ack: false)
  @channel = channel
  @max_items = max_items
  @wait_timeout = wait_timeout
  @auto_ack = auto_ack
end

Instance Attribute Details

#auto_ackBoolean

Returns automatically acknowledge messages on receipt (default: false).

Returns:

  • (Boolean)

    automatically acknowledge messages on receipt (default: false)



62
# File 'lib/kubemq/queues/queue_poll_request.rb', line 62

attr_accessor :channel, :max_items, :wait_timeout, :auto_ack

#channelString

Returns queue channel to poll from.

Returns:

  • (String)

    queue channel to poll from



62
63
64
# File 'lib/kubemq/queues/queue_poll_request.rb', line 62

def channel
  @channel
end

#max_itemsInteger

Returns maximum number of messages to receive (default: 1).

Returns:

  • (Integer)

    maximum number of messages to receive (default: 1)



62
# File 'lib/kubemq/queues/queue_poll_request.rb', line 62

attr_accessor :channel, :max_items, :wait_timeout, :auto_ack

#wait_timeoutInteger

Note:

Timeout is in seconds

Returns how long to wait for messages before returning.

Returns:

  • (Integer)

    how long to wait for messages before returning



62
# File 'lib/kubemq/queues/queue_poll_request.rb', line 62

attr_accessor :channel, :max_items, :wait_timeout, :auto_ack