Changeset 300

Show
Ignore:
Timestamp:
12/31/07 02:48:18 (8 months ago)
Author:
gethema..@gmail.com
Message:

check in the code changes regarding lost connections

Files:

Legend:

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

    r296 r300  
    238238          @timer_hash.delete(key) if timer.cancel_flag 
    239239          if timer.run_now? 
    240             timer.run 
     240            begin  
     241              timer.run 
     242            rescue; end 
     243             
    241244            @timer_hash.delete(key) if !timer.respond_to?(:interval) 
    242245          end 
  • trunk/server/master_worker.rb

    r298 r300  
    155155      RAILS_ENV.replace(run_env) if defined?(RAILS_ENV) 
    156156      require RAILS_HOME + '/config/environment.rb' 
    157       p RAILS_ENV 
    158157      load_rails_models 
    159158      ActiveRecord::Base.allow_concurrency = true 
  • trunk/server/meta_worker.rb

    r299 r300  
    6161      @threads << Thread.new do 
    6262        while true 
     63          begin 
     64            ActiveRecord::Base.verify_active_connections! if defined?(ActiveRecord) 
     65          rescue; end 
     66           
    6367          task = @work_queue.pop 
    6468          @running_tasks << task 
     
    167171    def worker_init 
    168172      @config_file = YAML.load(ERB.new(IO.read("#{RAILS_HOME}/config/backgroundrb.yml")).result) 
    169       # load_rails_env 
     173      load_rails_env 
    170174      @logger = PacketLogger.new(self) 
    171175      @thread_pool = ThreadPool.new(pool_size || 20,@logger) 
     
    307311 
    308312    def check_for_timer_events 
     313      begin 
     314        ActiveRecord::Base.verify_active_connections! if defined?(ActiveRecord) 
     315      rescue; end 
    309316      super 
    310317      return if @worker_method_triggers.nil? or @worker_method_triggers.empty? 
    311318      @worker_method_triggers.each do |key,value| 
    312319        if value[:runtime] < Time.now.to_i 
    313           (t_data = value[:data]) ? send(key,t_data) : send(key) 
     320          begin 
     321            (t_data = value[:data]) ? send(key,t_data) : send(key) 
     322          rescue 
     323            logger.info($!.to_s) 
     324            logger.info($!.backtrace.join("\n")) 
     325          end 
    314326          value[:runtime] = value[:trigger].fire_time_after(Time.now).to_i 
    315327        end 
     
    341353    end 
    342354 
    343 #     private 
    344 #     def load_rails_env 
    345 #       ActiveRecord::Base.allow_concurrency = true 
    346 #       db_config_file = YAML.load(ERB.new(IO.read("#{RAILS_HOME}/config/database.yml")).result) 
    347 #       run_env = @config_file[:backgroundrb][:environment] || 'development' 
    348 #       ENV["RAILS_ENV"] = run_env 
    349 #       RAILS_ENV.replace(run_env) if defined?(RAILS_ENV
    350 #       require RAILS_HOME + '/config/environment.rb' 
    351 #       ActiveRecord::Base.establish_connection(db_config_file[run_env]) 
    352 #     end 
     355    private 
     356    def load_rails_env 
     357      db_config_file = YAML.load(ERB.new(IO.read("#{RAILS_HOME}/config/database.yml")).result) 
     358      run_env = @config_file[:backgroundrb][:environment] || 'development' 
     359      ENV["RAILS_ENV"] = run_env 
     360      RAILS_ENV.replace(run_env) if defined?(RAILS_ENV) 
     361      ActiveRecord::Base.establish_connection(db_config_file[run_env]
     362      ActiveRecord::Base.allow_concurrency = true 
     363    end 
     364     
    353365  end # end of class MetaWorker 
    354366end # end of module BackgrounDRb