Module: BlueGreenWorkers
- Defined in:
- lib/blue_green_workers.rb,
lib/blue_green_workers/config.rb,
lib/blue_green_workers/version.rb
Overview
Main module for blue_green_workers
Defined Under Namespace
Classes: Config
Constant Summary collapse
- VERSION =
'0.4.1'
Class Method Summary collapse
-
.activate ⇒ Object
private.
- .active_cluster ⇒ Object
- .configure {|config| ... } ⇒ Object
- .deactivate ⇒ Object
- .shutdown ⇒ Object
- .when_active(opts = {}) ⇒ Object
Class Method Details
.activate ⇒ Object
private
43 44 45 46 |
# File 'lib/blue_green_workers.rb', line 43 def self.activate logger.info 'BlueGreenWorkers cluster activating!' config.activate_block&.call end |
.active_cluster ⇒ Object
9 10 11 12 13 14 15 |
# File 'lib/blue_green_workers.rb', line 9 def self.active_cluster if config.refresh_interval.positive? @active_cluster else determine_active_cluster end end |
.configure {|config| ... } ⇒ Object
17 18 19 20 21 22 |
# File 'lib/blue_green_workers.rb', line 17 def self.configure yield config determine_active_cluster (config.refresh_interval || 0).positive? && start_refresh_thread config.validate end |
.deactivate ⇒ Object
48 49 50 51 |
# File 'lib/blue_green_workers.rb', line 48 def self.deactivate logger.info 'BlueGreenWorkers cluster deactivating!' config.deactivate_block&.call end |
.shutdown ⇒ Object
34 35 36 37 38 39 40 |
# File 'lib/blue_green_workers.rb', line 34 def self.shutdown logger.warn 'Shutting down BlueGreenWotkers!' @refresh_thread&.kill @active_cluster = nil @refresh_thread = nil @config = nil end |
.when_active(opts = {}) ⇒ Object
24 25 26 27 28 29 30 31 32 |
# File 'lib/blue_green_workers.rb', line 24 def self.when_active(opts = {}) if config.active_cluster_block.call == config.cluster_name yield else logger.debug 'Cluster not active, skipping BlueGreenWorkers#when_active' opts[:delay] && sleep(opts[:delay]) opts[:return] end end |