Changeset 124
- Timestamp:
- 11/03/06 10:13:20 (2 years ago)
- Files:
-
- trunk/server/lib/backgroundrb/scheduler.rb (modified) (1 diff)
- trunk/server/lib/backgroundrb_server.rb (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/server/lib/backgroundrb/scheduler.rb
r123 r124 45 45 } 46 46 entry.job.is_a?(Proc) ? entry.job.call : entry.job.execute 47 p "here?"48 47 rescue 49 48 BackgrounDRb::ServerLogger.log_exception('scheduler', e) trunk/server/lib/backgroundrb_server.rb
r115 r124 8 8 require 'tmpdir' 9 9 require 'fileutils' 10 require 'drb/acl' 10 11 11 12 module BackgrounDRb … … 133 134 options[:socket_dir] = options[:temp_dir] + '/backgroundrb.' + $$.to_s 134 135 136 # Default ACL 137 options[:acl] ||= { 138 :deny => [ 139 'all' 140 ], 141 :allow => [ 142 'localhost 127.0.0.1' 143 ], 144 :order => [ 'deny' 'allow' ] 145 } 146 135 147 # Output accumulated configuration 136 148 if options[:list] 137 149 puts "BackgrounDRb configuration (including cmd line arguments)" 138 150 options.sort_by { |k| k.to_s }.each do |k| 139 puts ":" + k[0].to_s + ": " + k[1].to_s 151 if k[0] == :acl 152 # TODO: format acl 153 else 154 puts ":" + k[0].to_s + ": " + k[1].to_s 155 end 140 156 end 141 157 puts "" … … 149 165 # Log server configuration 150 166 case @cmd 151 when 'start', 'run''restart'167 when 'start','run','restart' 152 168 BackgrounDRb::ServerLogger.logger.info('server') do 153 169 "Starting BackgrouDRb Server" … … 179 195 FileUtils::mkdir_p(socket_dir) 180 196 197 # DRb Acl 198 unless @backgroundrb_options[:protocol] == "drbunix" 199 self.setup_drb_acl 200 end 201 181 202 when 'restart' 182 203 puts 'restart not supported, please stop, then start' … … 187 208 ENV['TMPDIR'] = socket_dir 188 209 210 end 211 212 def setup_drb_acl 213 214 acl = [] 215 acl_config = @backgroundrb_options[:acl] 216 217 [:deny, :allow].each do |acl_type| 218 acl_config[acl_type].inject(acl) do |total, part| 219 part.gsub!(/,/,' ') 220 part.split(/\s+/).each do |sub_part| 221 if sub_part.is_a?(String) 222 total << "#{acl_type.to_s}" 223 total << "#{sub_part}" 224 end 225 end 226 end 227 end 228 229 # Will effectively install a DENY_ALLOW if order is not specified 230 case acl_config[:order] 231 when /\Aallow/ 232 order = 1 # ALLOW_DENY. 233 else 234 order = 0 # DENY_ALLOW 235 end 236 237 begin 238 drb_acl = ACL.new(acl, order) 239 DRb.install_acl(drb_acl) 240 BackgrounDRb::ServerLogger.logger.info('server') { 241 "Installed DRb ACL" 242 } 243 rescue => e 244 BackgrounDRb::ServerLogger.logger.info('server') { 245 "Failed to install DRb ACL" 246 } 247 BackgrounDRb::ServerLogger.log_exception('server', e) 248 end 189 249 end 190 250
