55: def self.start(address, base_path, workers, grace_period = MERCY_KILLING_GRACE_PERIOD)
56: innie, outie = IO.pipe
57:
58: warlock.start("RemoteWorkerServer") do
59: innie.close
60:
61: server = new(base_path, workers)
62:
63: DRb.start_service("drubyall://#{address}:0", server)
64: DeepTest.logger.info "RemoteWorkerServer started at #{DRb.uri}"
65:
66: outie.write DRb.uri
67: outie.close
68:
69: server.launch_mercy_killer(grace_period)
70:
71: DRb.thread.join
72: end
73:
74: outie.close
75: uri = innie.gets
76: innie.close
77: DRbObject.new_with_uri(uri)
78: end