Module: Sidekiq::AWS::SQS::Helpers

Included in:
Worker
Defined in:
lib/sidekiq/aws/sqs/helpers.rb

Instance Method Summary collapse

Instance Method Details

#sqs_options_structObject



32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# File 'lib/sidekiq/aws/sqs/helpers.rb', line 32

def sqs_options_struct
  if @sqs_options[:wait_time_seconds].blank?
    @sqs_options[:wait_time_seconds] =
      Sidekiq::AWS::SQS.config.wait_time_seconds
  end

  if @sqs_options[:max_number_of_messages].blank?
    @sqs_options[:max_number_of_messages] =
      Sidekiq::AWS::SQS.config.max_number_of_messages
  end

  if @sqs_options[:destroy_on_received].blank?
    @sqs_options[:destroy_on_received] =
      Sidekiq::AWS::SQS.config.destroy_on_received
  end

  @sqs_options[:client] = Sidekiq::AWS::SQS.config.sqs_client if @sqs_options[:client].blank?

  OpenStruct.new(@sqs_options)
end

#validate_sqs_options!Object

Raises:

  • (ArgumentError)


7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/sidekiq/aws/sqs/helpers.rb', line 7

def validate_sqs_options!
  raise ArgumentError, 'You must use the `sqs_options` method on your worker' if @sqs_options.blank?

  if need_to_raise_for_queue_url?
    raise ArgumentError,
          'You must provide a SQS queue URL like `sqs_options queue_url: "url"'
  end

  raise ArgumentError, 'You must provide a SQS client' if need_to_raise_for_client?

  if need_to_raise_for_wait_time_seconds?
    raise ArgumentError,
          'You must provide a valid wait time like `sqs_options wait_time_seconds: 20`'
  end
  if need_to_raise_for_max_number_of_messages?
    raise ArgumentError,
          'You must provide a valid max number of messages like `sqs_options max_number_of_messages: 10`'
  end

  return unless need_to_raise_for_destroy_on_received?

  raise ArgumentError,
        'You must provide a valid destroy on received like `sqs_options destroy_on_received: true`'
end