lib/dtr.rb in dtr-0.0.4 vs lib/dtr.rb in dtr-1.0.0

- old
+ new

@@ -1,6 +1,6 @@ -# Copyright (c) 2007-2008 Li Xiao +# Copyright (c) 2007-2008 Li Xiao <iam@li-xiao.com> # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # @@ -10,102 +10,13 @@ # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. -DTRVERSION="0.0.4" -DTROPTIONS = {} unless defined?(DTROPTIONS) +require 'dtr/facade' -require 'fileutils' +DTRVERSION="1.0.0" +DTR_AGENT_OPTIONS = {:runners => [], :agent_env_setup_cmd => nil} module DTR - - def start_server - require 'dtr/service_provider' - ServiceProvider.new.start - end - - def start_runners - launch_runners(DTROPTIONS[:names], DTROPTIONS[:setup]) - end - - def launch_runners(names, setup=nil) - require 'dtr/runner' - names = names || "DTR(#{Time.now})" - DTR::RunnerAgent.start(names, setup) - end - - def lib_path - File.expand_path(File.dirname(__FILE__)) - end - - def broadcast_list=(list) - require 'dtr/service_provider' - ServiceProvider.broadcast_list = list - end - - def port=(port) - require 'dtr/service_provider' - ServiceProvider.port = port - end - - def runners - require 'dtr/service_provider' - ServiceProvider.new.runners - end - - def monitor - require 'dtr/service_provider' - DTROPTIONS[:log_file] = 'dtr_monitor.log' - ServiceProvider.new.monitor - end - - def stop_runners_daemon_mode - with_daemon_gem do - Daemons.run_proc "dtr_runners", :ARGV => ['stop'] - end - end - - def start_runners_daemon_mode - with_daemon_gem do - FileUtils.rm_rf('dtr_runners.output') - pwd = Dir.pwd - Daemons.run_proc "dtr_runners", :ARGV => ['start'], :backtrace => true do - Dir.chdir(pwd) do - start_runners - end - end - end - end - - def start_server_daemon_mode - with_daemon_gem do - Daemons.run_proc "dtr_server", :ARGV => ['start'] do - start_server - end - end - sleep(2) - end - - def stop_server_daemon_mode - with_daemon_gem do - Daemons.run_proc "dtr_server", :ARGV => ['stop'] - end - end - - def with_daemon_gem - require "rubygems" - begin - require "daemons" - rescue LoadError - raise "The daemons gem must be installed" - end - yield - end - - def clean_server - require 'dtr/service_provider' - ServiceProvider.new.clear_workspace - end - - module_function :start_server, :start_runners, :launch_runners, :lib_path, :broadcast_list=, :runners, :with_daemon_gem, :start_runners_daemon_mode, :stop_runners_daemon_mode, :start_server_daemon_mode, :stop_server_daemon_mode, :monitor, :port=, :clean_server + extend Facade end