Class: LogStash::Inputs::Elasticsearch::PaginatedSearch
- Inherits:
-
Object
- Object
- LogStash::Inputs::Elasticsearch::PaginatedSearch
- Includes:
- Util::Loggable
- Defined in:
- lib/logstash/inputs/elasticsearch/paginated_search.rb
Direct Known Subclasses
Instance Method Summary collapse
- #do_run(output_queue) ⇒ Object
-
#initialize(client, plugin) ⇒ PaginatedSearch
constructor
A new instance of PaginatedSearch.
- #retryable(job_name, &block) ⇒ Object
- #retryable_search(output_queue) ⇒ Object
- #retryable_slice_search(output_queue) ⇒ Object
Constructor Details
#initialize(client, plugin) ⇒ PaginatedSearch
Returns a new instance of PaginatedSearch.
9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/logstash/inputs/elasticsearch/paginated_search.rb', line 9 def initialize(client, plugin) @client = client @plugin_params = plugin.params @index = @plugin_params["index"] @query = LogStash::Json.load(@plugin_params["query"]) @scroll = @plugin_params["scroll"] @size = @plugin_params["size"] @slices = @plugin_params["slices"] @retries = @plugin_params["retries"] @plugin = plugin @pipeline_id = plugin.pipeline_id end |
Instance Method Details
#do_run(output_queue) ⇒ Object
24 25 26 27 28 |
# File 'lib/logstash/inputs/elasticsearch/paginated_search.rb', line 24 def do_run(output_queue) return retryable_search(output_queue) if @slices.nil? || @slices <= 1 retryable_slice_search(output_queue) end |
#retryable(job_name, &block) ⇒ Object
30 31 32 33 34 35 36 37 |
# File 'lib/logstash/inputs/elasticsearch/paginated_search.rb', line 30 def retryable(job_name, &block) stud_try = ::LogStash::Helpers::LoggableTry.new(logger, job_name) stud_try.try((@retries + 1).times) { yield } rescue => e error_details = {:message => e., :cause => e.cause} error_details[:backtrace] = e.backtrace if logger.debug? logger.error("Tried #{job_name} unsuccessfully", error_details) end |
#retryable_search(output_queue) ⇒ Object
39 40 41 |
# File 'lib/logstash/inputs/elasticsearch/paginated_search.rb', line 39 def retryable_search(output_queue) raise NotImplementedError end |
#retryable_slice_search(output_queue) ⇒ Object
43 44 45 |
# File 'lib/logstash/inputs/elasticsearch/paginated_search.rb', line 43 def retryable_slice_search(output_queue) raise NotImplementedError end |