Class: Zold::Routines::Reconnect
- Inherits:
-
Object
- Object
- Zold::Routines::Reconnect
- Defined in:
- lib/zold/commands/routines/reconnect.rb
Overview
Reconnect to the network
Instance Method Summary collapse
- #exec(_ = 0) ⇒ Object
-
#initialize(opts, remotes, farm = Farm::Empty.new, network: 'test', log: Log::Quiet.new) ⇒ Reconnect
constructor
A new instance of Reconnect.
Constructor Details
#initialize(opts, remotes, farm = Farm::Empty.new, network: 'test', log: Log::Quiet.new) ⇒ Reconnect
Returns a new instance of Reconnect.
35 36 37 38 39 40 41 |
# File 'lib/zold/commands/routines/reconnect.rb', line 35 def initialize(opts, remotes, farm = Farm::Empty.new, network: 'test', log: Log::Quiet.new) @opts = opts @remotes = remotes @farm = farm @network = network @log = log end |
Instance Method Details
#exec(_ = 0) ⇒ Object
43 44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'lib/zold/commands/routines/reconnect.rb', line 43 def exec(_ = 0) sleep(60) unless @opts['routine-immediately'] cmd = Remote.new(remotes: @remotes, log: @log, farm: @farm) args = ['remote', "--network=#{@opts['network']}"] score = @farm.best[0] args << "--ignore-node=#{score.host}:#{score.port}" if score cmd.run(args + ['defaults']) unless @opts['routine-immediately'] cmd.run(args + ['trim']) cmd.run(args + ['select']) cmd.run(args + ['update'] + (@opts['never-reboot'] ? [] : ['--reboot'])) @log.info("Reconnected, there are #{@remotes.all.count} remote notes: \ #{@remotes.all.map { |r| "#{r[:host]}:#{r[:port]}" }.join(', ')}") end |