Class: DeepTest::Distributed::MultiTestServerProxy
- Inherits:
-
Object
- Object
- DeepTest::Distributed::MultiTestServerProxy
- Defined in:
- lib/deep_test/distributed/multi_test_server_proxy.rb
Defined Under Namespace
Classes: WorkerServerProxy
Instance Method Summary collapse
-
#initialize(options, slaves) ⇒ MultiTestServerProxy
constructor
A new instance of MultiTestServerProxy.
- #multi_push_sync(options) ⇒ Object
- #spawn_worker_server(options) ⇒ Object
- #sync(options) ⇒ Object
Constructor Details
#initialize(options, slaves) ⇒ MultiTestServerProxy
Returns a new instance of MultiTestServerProxy.
5 6 7 8 9 |
# File 'lib/deep_test/distributed/multi_test_server_proxy.rb', line 5 def initialize(, slaves) DeepTest.logger.debug "MultiTestServerProxy#initialize #{slaves.length} slaves" @slave_controller = DispatchController.new(, slaves) @slaves = slaves end |
Instance Method Details
#multi_push_sync(options) ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/deep_test/distributed/multi_test_server_proxy.rb', line 27 def multi_push_sync() puts "Syncing..." sync_start = Time.now threads = @slaves.map do |slave| Thread.new do Thread.current[:receiver] = slave Timeout.timeout(.timeout_in_seconds) do RSync.sync(Struct.new(:address).new(URI::parse(slave.__drburi).host), , .mirror_path(slave.config[:work_dir])) end end end results = [] threads.each do |t| begin results << t.value rescue Timeout::Error DeepTest.logger.error "Timeout syncing to #{t[:receiver].__drburi}" raise end end puts "Sync took #{Time.now - sync_start} seconds" end |
#spawn_worker_server(options) ⇒ Object
11 12 13 14 15 16 |
# File 'lib/deep_test/distributed/multi_test_server_proxy.rb', line 11 def spawn_worker_server() DeepTest.logger.debug "dispatch spawn_worker_server for #{.origin_hostname}" WorkerServerProxy.new , @slave_controller.dispatch(:spawn_worker_server, ) end |