Merge branch 'dev_aliyun' of https://bdgit.educoder.net/Hjqreturn/educoder into dev_aliyun

dev_tj
daiao 5 years ago
commit b8cabfabdd

@ -68,8 +68,8 @@ class GitService
content = JSON.parse(body) content = JSON.parse(body)
if content["code"] != 0 if content["code"] != 0
raise("版本库异常")
logger.error("repository error: #{content['msg']}") logger.error("repository error: #{content['msg']}")
raise("版本库异常")
end end
#raise content["msg"] if content["code"] != 0 #raise content["msg"] if content["code"] != 0

@ -3,4 +3,5 @@ json.game @game
json.shixun @shixun json.shixun @shixun
json.shixun_env @env json.shixun_env @env
json.shixun_image @shixun.main_mirror_name
json.shixun_tags @shixun_tags json.shixun_tags @shixun_tags

@ -38,9 +38,8 @@ namespace :zip_pack do
def zip_homework_pdf homeworks, folder, parallel_size def zip_homework_pdf homeworks, folder, parallel_size
Dir.mkdir(folder) unless File.directory?(folder) Dir.mkdir(folder) unless File.directory?(folder)
homeworks = homeworks.includes(:score_student_works)
Parallel.each(homeworks, in_processes: 2) do |homework| homeworks.includes(:score_student_works).each do |homework|
out_file_name = "#{Time.now.strftime("%Y%m%d%H%M%S").to_s}-#{homework.course_id}-#{homework.name}.zip" out_file_name = "#{Time.now.strftime("%Y%m%d%H%M%S").to_s}-#{homework.course_id}-#{homework.name}.zip"
out_file_name.gsub!(" ", "-") out_file_name.gsub!(" ", "-")
out_file_name.gsub!("/", "_") out_file_name.gsub!("/", "_")
@ -51,15 +50,21 @@ namespace :zip_pack do
if student_works.size > 0 if student_works.size > 0
pdfs = [] pdfs = []
Zip::File.open(zipfile_name, Zip::File::CREATE) do |zip| file_paths = []
student_works.find_in_batches(batch_size: 500) do |sw| student_works.find_in_batches(batch_size: 500) do |sw|
Parallel.each(sw, in_processes: parallel_size) do |student_work| Parallel.each(sw, in_threads: parallel_size) do |student_work|
export = ExportShixunReportService.new(homework, student_work) export = ExportShixunReportService.new(homework, student_work)
pdf = export.to_pdf pdf = export.to_pdf
pdfs << pdf pdfs << pdf
begin file_paths << {filename: export.filename, path: pdf.path}
zip.add(export.filename, pdf.path)
puts "out: #{export.filename}_#{pdf.path}" puts "out: #{export.filename}_#{pdf.path}"
end
end
Zip::File.open(zipfile_name, Zip::File::CREATE) do |zip|
file_paths.each do |pdf|
begin
zip.add(pdf[:filename], pdf[:path])
rescue => ex rescue => ex
Rails.logger.error(ex.message) Rails.logger.error(ex.message)
@ -68,7 +73,6 @@ namespace :zip_pack do
end end
end end
end end
end
else else
zipfile = {:message => "no file"} zipfile = {:message => "no file"}
end end

@ -4,11 +4,11 @@
* @Github: * @Github:
* @Date: 2020-01-15 15:44:36 * @Date: 2020-01-15 15:44:36
* @LastEditors : tangjiang * @LastEditors : tangjiang
* @LastEditTime : 2020-01-17 15:33:56 * @LastEditTime : 2020-01-17 16:40:03
*/ */
import axios from 'axios'; import axios from 'axios';
import cookie from 'react-cookies' import cookie from 'react-cookies'
axios.defaults.withCredentials = true; // axios.defaults.withCredentials = true;
const setCookier = () => { const setCookier = () => {
const _params = window.location.search; const _params = window.location.search;

Loading…
Cancel
Save