|  |  |  | @ -23,7 +23,8 @@ namespace :subjects do | 
			
		
	
		
			
				
					|  |  |  |  |             "#{data.passed_count}, #{data.course_used_count}, #{data.school_used_count}, " + | 
			
		
	
		
			
				
					|  |  |  |  |             "'#{Time.now.strftime('%Y-%m-%d %H:%M:%S')}', '#{Time.now.strftime('%Y-%m-%d %H:%M:%S')}')") | 
			
		
	
		
			
				
					|  |  |  |  |         buffer_size += 1 | 
			
		
	
		
			
				
					|  |  |  |  |         puts "buffer_size: #{buffer_size}; subject: #{subject == s.last}; index:#{index+1}" | 
			
		
	
		
			
				
					|  |  |  |  |         puts "buffer_size: #{buffer_size}; subject_id: #{subject.id}; s: #{s.last}; subject: #{subject == s.last};" | 
			
		
	
		
			
				
					|  |  |  |  |         puts "####str: #{str}" | 
			
		
	
		
			
				
					|  |  |  |  |         if buffer_size == 1000 || subject == s.last | 
			
		
	
		
			
				
					|  |  |  |  |           sql = "REPLACE INTO subject_records(#{column_value}) VALUES #{str}" | 
			
		
	
		
			
				
					|  |  |  |  |           puts sql | 
			
		
	
	
		
			
				
					|  |  |  | @ -56,14 +57,14 @@ namespace :subjects do | 
			
		
	
		
			
				
					|  |  |  |  |         puts("---------------------course_info_statistic: #{subject.id}") | 
			
		
	
		
			
				
					|  |  |  |  |         Rails.logger.info("---------------------course_info_statistic: #{subject.id}") | 
			
		
	
		
			
				
					|  |  |  |  |         data = Subjects::CourseUsedInfoService.call(subject) | 
			
		
	
		
			
				
					|  |  |  |  |         Parallel.map_with_index(data) do |key, index| | 
			
		
	
		
			
				
					|  |  |  |  |         data.each do |key| | 
			
		
	
		
			
				
					|  |  |  |  |           next if key[:school_id].nil? | 
			
		
	
		
			
				
					|  |  |  |  |           str += ", " unless str.empty? | 
			
		
	
		
			
				
					|  |  |  |  |           str += ("(#{subject.id}, #{key[:school_id]}, '#{key[:school_name]}', #{key[:course_count]}, " + | 
			
		
	
		
			
				
					|  |  |  |  |               "#{key[:student_count]}, #{key[:choice_shixun_num]}, #{key[:choice_shixun_frequency]}, " + | 
			
		
	
		
			
				
					|  |  |  |  |               "'#{Time.now.strftime('%Y-%m-%d %H:%M:%S')}', '#{Time.now.strftime('%Y-%m-%d %H:%M:%S')}')") | 
			
		
	
		
			
				
					|  |  |  |  |           buffer_size += 1 | 
			
		
	
		
			
				
					|  |  |  |  |           if buffer_size == 1000 || (index + 1) == data.size | 
			
		
	
		
			
				
					|  |  |  |  |           if buffer_size == 1000 || key == data.last | 
			
		
	
		
			
				
					|  |  |  |  |             sql = "REPLACE INTO subject_course_records(#{column_value}) VALUES #{str}" | 
			
		
	
		
			
				
					|  |  |  |  |             puts sql | 
			
		
	
		
			
				
					|  |  |  |  |             ActiveRecord::Base.connection.execute sql | 
			
		
	
	
		
			
				
					|  |  |  | @ -95,7 +96,7 @@ namespace :subjects do | 
			
		
	
		
			
				
					|  |  |  |  |         puts("---------------------shixun_info_statistic: #{subject.id}") | 
			
		
	
		
			
				
					|  |  |  |  |         Rails.logger.info("---------------------shixun_info_statistic: #{subject.id}") | 
			
		
	
		
			
				
					|  |  |  |  |         data = Subjects::ShixunUsedInfoService.call(subject) | 
			
		
	
		
			
				
					|  |  |  |  |         data.each_with_index do |key, index| | 
			
		
	
		
			
				
					|  |  |  |  |         data.each do |key| | 
			
		
	
		
			
				
					|  |  |  |  |           next if key[:shixun_id].nil? | 
			
		
	
		
			
				
					|  |  |  |  |           str += ", " unless str.empty? | 
			
		
	
		
			
				
					|  |  |  |  |           str += ("(#{subject.id}, #{key[:shixun_id]}, '#{key[:stage]}', '#{key[:name]}', #{key[:challenge_count]}, " + | 
			
		
	
	
		
			
				
					|  |  |  | @ -103,7 +104,7 @@ namespace :subjects do | 
			
		
	
		
			
				
					|  |  |  |  |               "#{key[:evaluate_count]}, #{key[:passed_ave_time]}, " + | 
			
		
	
		
			
				
					|  |  |  |  |               "'#{Time.now.strftime('%Y-%m-%d %H:%M:%S')}', '#{Time.now.strftime('%Y-%m-%d %H:%M:%S')}')") | 
			
		
	
		
			
				
					|  |  |  |  |           buffer_size += 1 | 
			
		
	
		
			
				
					|  |  |  |  |           if buffer_size == 1000 || (index+1) == data.size | 
			
		
	
		
			
				
					|  |  |  |  |           if buffer_size == 1000 || key == data.last | 
			
		
	
		
			
				
					|  |  |  |  |             sql = "REPLACE INTO subject_shixun_infos(#{column_value}) VALUES #{str}" | 
			
		
	
		
			
				
					|  |  |  |  |             puts sql | 
			
		
	
		
			
				
					|  |  |  |  |             ActiveRecord::Base.connection.execute sql | 
			
		
	
	
		
			
				
					|  |  |  | @ -142,7 +143,7 @@ namespace :subjects do | 
			
		
	
		
			
				
					|  |  |  |  |               "#{key[:passed_games_count]}, #{key[:code_line_count]}, #{key[:evaluate_count]}, #{key[:cost_time]}, " + | 
			
		
	
		
			
				
					|  |  |  |  |               "'#{Time.now.strftime('%Y-%m-%d %H:%M:%S')}', '#{Time.now.strftime('%Y-%m-%d %H:%M:%S')}')") | 
			
		
	
		
			
				
					|  |  |  |  |           buffer_size += 1 | 
			
		
	
		
			
				
					|  |  |  |  |           if buffer_size == 1000 || (index+1 == data.size) | 
			
		
	
		
			
				
					|  |  |  |  |           if buffer_size == 1000 || (key == data.last) | 
			
		
	
		
			
				
					|  |  |  |  |             sql = "REPLACE INTO subject_user_infos(#{column_value}) VALUES #{str}" | 
			
		
	
		
			
				
					|  |  |  |  |             ActiveRecord::Base.connection.execute sql | 
			
		
	
		
			
				
					|  |  |  |  |             str = "" | 
			
		
	
	
		
			
				
					|  |  |  | 
 |