Class: Dynomatic::Master

Inherits:
Object
  • Object
show all
Defined in:
lib/dynomatic/master.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(configuration) ⇒ Master

Returns a new instance of Master.



5
6
7
# File 'lib/dynomatic/master.rb', line 5

def initialize(configuration)
  @configuration = configuration
end

Instance Attribute Details

#configurationObject

Returns the value of attribute configuration.



3
4
5
# File 'lib/dynomatic/master.rb', line 3

def configuration
  @configuration
end

#current_dyno_countObject

Returns the value of attribute current_dyno_count.



3
4
5
# File 'lib/dynomatic/master.rb', line 3

def current_dyno_count
  @current_dyno_count
end

Instance Method Details

#adjust_dynos!Object

Main method



18
19
20
21
22
23
24
25
# File 'lib/dynomatic/master.rb', line 18

def adjust_dynos!
  job_count = configuration.adapter.job_count
  new_dyno_count = dyno_count_for_job_count(job_count)

  if current_dyno_count != new_dyno_count
    set_dyno_count!(new_dyno_count)
  end
end

#install!Object



9
10
11
12
13
14
15
# File 'lib/dynomatic/master.rb', line 9

def install!
  this = self

  ActiveJob::Base.before_perform do
    this.adjust_dynos!
  end
end