class DruidConfig::Entities::Worker
Worker
class
Attributes
capacity[R]
Readers
capacity_used[R]
Readers
host[R]
Readers
ip[R]
Readers
last_completed_task_time[R]
Readers
port[R]
Readers
running_tasks[R]
Readers
used[R]
Readers
version[R]
Readers
Public Class Methods
new(metadata)
click to toggle source
Initialize it with received info
Parameters:¶ ↑
- metadata
-
Hash with returned metadata from Druid
# File lib/druid_config/entities/worker.rb, line 18 def initialize(metadata) @host, @port = metadata['worker']['host'].split(':') @ip = metadata['worker']['ip'] @capacity = metadata['worker']['capacity'] @version = metadata['worker']['version'] @last_completed_task_time = metadata['lastCompletedTaskTime'] @running_tasks = metadata['runningTasks'].map do |task| DruidConfig::Entities::Task.new( task, DruidConfig::Entities::Task::STATUS[:running], created_time: task['createdTime'], query_insertion_time: task['queueInsertionTime']) end @capacity_used = metadata['currCapacityUsed'] end
Public Instance Methods
free()
click to toggle source
Return free capacity
# File lib/druid_config/entities/worker.rb, line 39 def free return @free if @free @free = (capacity - capacity_used) > 0 ? (capacity - capacity_used) : 0 end
uri()
click to toggle source
Return the uri of the worker
# File lib/druid_config/entities/worker.rb, line 55 def uri "#{@host}:#{@port}" end
used_percent()
click to toggle source
Return capacity used
# File lib/druid_config/entities/worker.rb, line 47 def used_percent return 0 unless @capacity && @capacity != 0 ((@capacity_used.to_f / @capacity) * 100).round(2) end