Class: Aws::Rails::SqsActiveJob::Configuration
- Inherits:
-
Object
- Object
- Aws::Rails::SqsActiveJob::Configuration
- Defined in:
- lib/aws/rails/sqs_active_job/configuration.rb
Overview
Configuration for AWS SQS ActiveJob. Use Aws::Rails::SqsActiveJob.config
to access the singleton config instance.
Constant Summary collapse
- DEFAULTS =
This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.
Default configuration options
{ max_messages: 10, shutdown_timeout: 15, queues: {}, logger: ::Rails.logger, message_group_id: 'SqsActiveJobGroup', excluded_deduplication_keys: ['job_id'] }.freeze
Instance Attribute Summary collapse
- #async_queue_error_handler ⇒ Object private
- #client ⇒ Object private
-
#excluded_deduplication_keys ⇒ Object
Returns the value of attribute excluded_deduplication_keys.
- #logger ⇒ Object private
- #max_messages ⇒ Object private
- #message_group_id ⇒ Object private
- #queues ⇒ Object private
- #shutdown_timeout ⇒ Object private
- #visibility_timeout ⇒ Object private
Instance Method Summary collapse
-
#initialize(options = {}) ⇒ Configuration
constructor
Don’t use this method directly: Configuration is a singleton class, use
Aws::Rails::SqsActiveJob.config
to access the singleton config. -
#queue_url_for(job_queue) ⇒ Object
Return the queue_url for a given job_queue name.
- #to_h ⇒ Object private
- #to_s ⇒ Object private
Constructor Details
#initialize(options = {}) ⇒ Configuration
Don’t use this method directly: Configuration is a singleton class, use Aws::Rails::SqsActiveJob.config
to access the singleton config.
92 93 94 95 96 97 98 |
# File 'lib/aws/rails/sqs_active_job/configuration.rb', line 92 def initialize( = {}) [:config_file] ||= config_file if File.exist?(config_file) = DEFAULTS .merge(()) .merge() set_attributes() end |
Instance Attribute Details
#async_queue_error_handler ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
35 36 37 |
# File 'lib/aws/rails/sqs_active_job/configuration.rb', line 35 def async_queue_error_handler @async_queue_error_handler end |
#client ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
35 36 37 |
# File 'lib/aws/rails/sqs_active_job/configuration.rb', line 35 def client @client end |
#excluded_deduplication_keys ⇒ Object
Returns the value of attribute excluded_deduplication_keys.
39 40 41 |
# File 'lib/aws/rails/sqs_active_job/configuration.rb', line 39 def excluded_deduplication_keys @excluded_deduplication_keys end |
#logger ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
35 36 37 |
# File 'lib/aws/rails/sqs_active_job/configuration.rb', line 35 def logger @logger end |
#max_messages ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
35 36 37 |
# File 'lib/aws/rails/sqs_active_job/configuration.rb', line 35 def @max_messages end |
#message_group_id ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
35 36 37 |
# File 'lib/aws/rails/sqs_active_job/configuration.rb', line 35 def @message_group_id end |
#queues ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
35 36 37 |
# File 'lib/aws/rails/sqs_active_job/configuration.rb', line 35 def queues @queues end |
#shutdown_timeout ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
35 36 37 |
# File 'lib/aws/rails/sqs_active_job/configuration.rb', line 35 def shutdown_timeout @shutdown_timeout end |
#visibility_timeout ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
35 36 37 |
# File 'lib/aws/rails/sqs_active_job/configuration.rb', line 35 def visibility_timeout @visibility_timeout end |
Instance Method Details
#queue_url_for(job_queue) ⇒ Object
Return the queue_url for a given job_queue name
113 114 115 116 117 118 |
# File 'lib/aws/rails/sqs_active_job/configuration.rb', line 113 def queue_url_for(job_queue) job_queue = job_queue.to_sym raise ArgumentError, "No queue defined for #{job_queue}" unless queues.key? job_queue queues[job_queue] end |
#to_h ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
126 127 128 129 130 131 132 133 134 |
# File 'lib/aws/rails/sqs_active_job/configuration.rb', line 126 def to_h h = {} instance_variables.each do |v| v_sym = v.to_s.gsub('@', '').to_sym val = instance_variable_get(v) h[v_sym] = val end h end |
#to_s ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
121 122 123 |
# File 'lib/aws/rails/sqs_active_job/configuration.rb', line 121 def to_s to_h.to_s end |