class DruidConfig::Entities::Task

Init a DataSource

Constants

STATUS

Statuses constants

Attributes

created_time[R]
id[R]
query_insertion_time[R]
status[R]

Public Class Methods

find(id) click to toggle source

Find a task based on id

# File lib/druid_config/entities/task.rb, line 27
def self.find(id)
  # Set end point for HTTParty
  base_uri(
    "#{DruidConfig.client.overlord}"\
    "druid/indexer/#{DruidConfig::Version::API_VERSION}/task")
  # Get data
  status = get("/#{id}/status")
  new(id, status['status']['status'])
end
new(id, status, extended_info = {}) click to toggle source

Initialize a task

Parameters:

id

String with identifier

status

Current status of the task

# File lib/druid_config/entities/task.rb, line 46
def initialize(id, status, extended_info = {})
  @id = id
  @status = status.downcase.to_sym
  @created_time = extended_info[:created_time]
  @query_insertion_time = extended_info[:query_insertion_time]
  # Set end point for HTTParty
  self.class.base_uri(
    "#{DruidConfig.client.overlord}"\
    "druid/indexer/#{DruidConfig::Version::API_VERSION}/task")
end

Public Instance Methods

datasource() click to toggle source

Get the dataSource of this task

# File lib/druid_config/entities/task.rb, line 85
def datasource
  payload['dataSource']
end
group_id() click to toggle source

Group of the task

# File lib/druid_config/entities/task.rb, line 92
def group_id
  payload['groupId']
end
log() click to toggle source

Current log of a task

# File lib/druid_config/entities/task.rb, line 78
def log
  self.class.get("/#{@id}/log")
end
payload() click to toggle source

Get payload of the task

# File lib/druid_config/entities/task.rb, line 71
def payload
  @payload ||= self.class.get("/#{@id}")['payload']
end