Changeset 296
- Timestamp:
- 12/23/07 04:44:33 (8 months ago)
- Files:
-
- trunk/framework/attribute_accessors.rb (deleted)
- trunk/framework/class_helpers.rb (added)
- trunk/framework/core.rb (modified) (1 diff)
- trunk/framework/packet.rb (modified) (1 diff)
- trunk/framework/pimp.rb (modified) (1 diff)
- trunk/framework/ruby_hacks.rb (deleted)
- trunk/lib/backgroundrb.rb (modified) (4 diffs)
- trunk/server/master_worker.rb (modified) (1 diff)
- trunk/server/meta_worker.rb (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/framework/core.rb
r294 r296 16 16 17 17 module ClassMethods 18 include Packet::ClassHelpers 18 19 def after_connection p_method 19 20 connection_callbacks[:after_connection] ||= [] trunk/framework/packet.rb
r217 r296 2 2 require "yaml" 3 3 require "forwardable" 4 require "attribute_accessors"5 4 require "bin_parser" 6 5 7 6 require "ostruct" 8 7 require "packet_guid" 9 require " ruby_hacks"8 require "class_helpers" 10 9 require "double_keyed_hash" 11 10 require "event" trunk/framework/pimp.rb
r217 r296 2 2 class Pimp 3 3 include NbioHelper 4 extend ClassHelpers 4 5 extend Forwardable 5 6 iattr_accessor :pimp_name trunk/lib/backgroundrb.rb
r294 r296 47 47 raise BackgrounDRb::BdrbConnError.new("Not able to connect") unless @connection_status 48 48 dump_object(p_data,@connection) 49 return p_data[:job_key] 49 50 # @connection.close 51 end 52 53 def worker_info(p_data) 54 p_data[:type] = :worker_info 55 establish_connection 56 raise BackgrounDRb::BdrbConnError.new("Not able to connect") unless @connection_status 57 dump_object(p_data,@connection) 58 return read_from_bdrb() 50 59 end 51 60 … … 75 84 raise BackgrounDRb::BdrbConnError.new("Not able to connect") unless @connection_status 76 85 dump_object(p_data,@connection) 77 begin 78 ret_val = select([@connection],nil,nil,3) 79 unless ret_val 80 # @connection.close 81 return nil 82 end 83 raw_response = read_object() 84 master_response = Marshal.load(raw_response) 85 # @connection.close 86 return master_response 87 rescue 88 puts $! 89 puts $!.backtrace 90 # @connection.close 91 return nil 92 end 86 return read_from_bdrb 93 87 end 94 88 … … 99 93 raise BackgrounDRb::BdrbConnError.new("Not able to connect") unless @connection_status 100 94 dump_object(p_data,@connection) 95 return read_from_bdrb 96 end 97 98 def read_from_bdrb(timeout = 3) 101 99 begin 102 ret_val = select([@connection],nil,nil,3) 103 unless ret_val 104 # @connection.close 105 return nil 106 end 100 ret_val = select([@connection],nil,nil,timeout) 101 return nil unless ret_val 107 102 raw_response = read_object() 108 103 master_response = Marshal.load(raw_response) 109 # @connection.close110 104 return master_response 111 105 rescue 112 puts $!113 puts $!.backtrace114 # @connection.close115 106 return nil 116 107 end … … 123 114 raise BackgrounDRb::BdrbConnError.new("Not able to connect") unless @connection_status 124 115 dump_object(p_data,@connection) 125 begin 126 ret_val = select([@connection],nil,nil,nil) 127 unless ret_val 128 # @connection.close 129 return nil 130 end 131 raw_response = read_object() 132 master_response = Marshal.load(raw_response) 133 # @connection.close 134 return master_response[:data] 135 rescue 136 # @connection.close 137 return nil 138 end 116 return read_from_bdrb(nil) 139 117 end 140 118 end trunk/server/master_worker.rb
r295 r296 39 39 when :delete_worker: delete_drb_worker(t_data) 40 40 when :all_worker_status: query_all_worker_status(t_data) 41 when :worker_info: pass_worker_info(t_data) 41 42 end 42 43 end 44 end 45 46 # 47 def pass_worker_info(t_data) 48 worker_name_key = gen_worker_key(t_data[:worker],t_data[:job_key]) 49 worker_instance = reactor.live_workers[worker_name_key] 50 info_response = { :worker => t_data[:worker],:job_key => t_data[:job_key]} 51 worker_instance ? (info_response[:status] = :running) : (info_response[:status] = :stopped) 52 send_object(info_response) 43 53 end 44 54 trunk/server/meta_worker.rb
r291 r296 153 153 attr_accessor :config_file, :my_schedule, :run_time, :trigger_type, :trigger 154 154 attr_accessor :logger, :thread_pool 155 iattr_accessor :pool_size 156 @pool_size = nil 157 158 def self.pool_size(size = nil) 159 if size 160 @pool_size = size 161 else 162 @pool_size 163 end 164 end 155 165 156 166 # does initialization of worker stuff and invokes create method in 157 167 # user defined worker class 158 168 def worker_init 159 @thread_pool = ThreadPool.new(20) 169 p pool_size 170 @thread_pool = ThreadPool.new(pool_size || 20) 160 171 161 172 @config_file = YAML.load(ERB.new(IO.read("#{RAILS_HOME}/config/backgroundrb.yml")).result)
