Changeset 269

Show
Ignore:
Timestamp:
12/13/07 06:27:20 (9 months ago)
Author:
gethema..@gmail.com
Message:

check in code that enables environment loading

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/framework/core.rb

    r262 r269  
    246246      end 
    247247 
    248  
    249248      def decorate_handler(t_socket,actually_connected,sock_addr,t_module,&block) 
    250249        handler_instance = initialize_handler(t_module) 
  • trunk/script/backgroundrb

    r241 r269  
    77SERVER_LOGGER = rails_root + "/log/backgroundrb_server.log" 
    88 
    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" 
     13require "packet" 
     14require "meta_worker" 
     15require "cron_trigger" 
     16require "trigger" 
     17require "log_worker" 
     18require "yaml" 
     19require "erb" 
     20require "master_worker" 
    1021 
    1122case ARGV[0] 
  • trunk/server/master_worker.rb

    r260 r269  
    33# RAILS_HOME = File.expand_path(File.join(File.dirname(__FILE__) + "/../..")) 
    44 
    5 ["server","bin","framework","lib","pimps"].each { |x| $LOAD_PATH.unshift(PACKET_APP + "/#{x}")} 
    6 $LOAD_PATH.unshift(WORKER_ROOT) 
    75 
    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") 
    156module BackgrounDRb 
    167end 
     
    129120end 
    130121 
    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  
    1717 
    1818  class MetaWorker < Packet::Worker 
     19    require RAILS_HOME + "/config/boot.rb" 
     20    require "active_record" 
     21    require "active_support" 
     22 
    1923    attr_accessor :config_file, :my_schedule, :run_time, :trigger_type, :trigger 
    2024    attr_accessor :logger 
     
    2226    def worker_init 
    2327      @config_file = YAML.load(ERB.new(IO.read("#{RAILS_HOME}/config/backgroundrb.yml")).result) 
     28      load_rails_env 
    2429      @logger = PacketLogger.new(self) 
    25       if(@worker_options[:schedule] && no_auto_load) 
     30      if(@worker_options && @worker_options[:schedule] && no_auto_load) 
    2631        load_schedule_from_args 
    2732      elsif(@config_file[:schedules] && @config_file[:schedules][worker_name.to_sym]) 
     
    182187    end 
    183188 
     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 
    184198  end # end of class MetaWorker 
    185199end # end of module BackgrounDRb