Changeset 269
- Timestamp:
- 12/13/07 06:27:20 (9 months ago)
- Files:
-
- trunk/framework/core.rb (modified) (1 diff)
- trunk/script/backgroundrb (modified) (1 diff)
- trunk/server/invalid_dump_error.rb (added)
- trunk/server/master_worker.rb (modified) (2 diffs)
- trunk/server/meta_worker.rb (modified) (3 diffs)
- trunk/test/bdrb_test_helper.rb (added)
- trunk/test/master_worker_test.rb (added)
- trunk/test/meta_worker_test.rb (added)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/framework/core.rb
r262 r269 246 246 end 247 247 248 249 248 def decorate_handler(t_socket,actually_connected,sock_addr,t_module,&block) 250 249 handler_instance = initialize_handler(t_module) trunk/script/backgroundrb
r241 r269 7 7 SERVER_LOGGER = rails_root + "/log/backgroundrb_server.log" 8 8 9 require "#{PACKET_APP}/server/master_worker" 9 ["server","framework","lib"].each { |x| $LOAD_PATH.unshift(PACKET_APP + "/#{x}")} 10 $LOAD_PATH.unshift(WORKER_ROOT) 11 12 # require "#{PACKET_APP}/server/master_worker" 13 require "packet" 14 require "meta_worker" 15 require "cron_trigger" 16 require "trigger" 17 require "log_worker" 18 require "yaml" 19 require "erb" 20 require "master_worker" 10 21 11 22 case ARGV[0] trunk/server/master_worker.rb
r260 r269 3 3 # RAILS_HOME = File.expand_path(File.join(File.dirname(__FILE__) + "/../..")) 4 4 5 ["server","bin","framework","lib","pimps"].each { |x| $LOAD_PATH.unshift(PACKET_APP + "/#{x}")}6 $LOAD_PATH.unshift(WORKER_ROOT)7 5 8 require "packet"9 require "meta_worker"10 require "cron_trigger"11 require "trigger"12 require "log_worker"13 14 require File.expand_path("#{RAILS_HOME}/config/environment.rb")15 6 module BackgrounDRb 16 7 end … … 129 120 end 130 121 131 # perhaps way to start a worker would be: 132 # MiddleMan.do_work(:worker => :foo_worker, :job_key => :hello_world, :args => :lol) 133 # 122 trunk/server/meta_worker.rb
r263 r269 17 17 18 18 class MetaWorker < Packet::Worker 19 require RAILS_HOME + "/config/boot.rb" 20 require "active_record" 21 require "active_support" 22 19 23 attr_accessor :config_file, :my_schedule, :run_time, :trigger_type, :trigger 20 24 attr_accessor :logger … … 22 26 def worker_init 23 27 @config_file = YAML.load(ERB.new(IO.read("#{RAILS_HOME}/config/backgroundrb.yml")).result) 28 load_rails_env 24 29 @logger = PacketLogger.new(self) 25 if(@worker_options [:schedule] && no_auto_load)30 if(@worker_options && @worker_options[:schedule] && no_auto_load) 26 31 load_schedule_from_args 27 32 elsif(@config_file[:schedules] && @config_file[:schedules][worker_name.to_sym]) … … 182 187 end 183 188 189 private 190 def load_rails_env 191 ActiveRecord::Base.allow_concurrency = true 192 db_config_file = YAML.load(ERB.new(IO.read("#{RAILS_HOME}/config/database.yml")).result) 193 run_env = @config_file[:backgroundrb][:environment] 194 require RAILS_HOME + '/config/environment.rb' 195 ENV['RAILS_ENV'] = run_env 196 ActiveRecord::Base.establish_connection(db_config_file[run_env]) 197 end 184 198 end # end of class MetaWorker 185 199 end # end of module BackgrounDRb
