From b1551c994023a0832b1e92658e27304f21de910d Mon Sep 17 00:00:00 2001 From: jingquan huang Date: Sat, 1 Jun 2019 09:36:23 +0800 Subject: [PATCH] 500 --- app/services/games_service.rb | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/app/services/games_service.rb b/app/services/games_service.rb index 9c2dc93f..500e6e83 100644 --- a/app/services/games_service.rb +++ b/app/services/games_service.rb @@ -115,7 +115,7 @@ class GamesService # 区分评测过未评测过,未评测过按需求取数据 sql = if max_query_index > 0 - "SELECT + "SELECT b.code, b.actual_output, b.out_put, b.result, b.compile_success, a.is_public, a.input, a.output FROM (SELECT position, input, output, challenge_id, is_public FROM test_sets where challenge_id=#{game_challenge.id}) a @@ -154,7 +154,7 @@ class GamesService Rails.logger.warn(latest_output) output_hash = {:test_sets => test_sets}.merge(:had_test_count => had_test_count, :test_sets_count => test_sets_count, - :had_passed_testsests_error_count => had_passed_testsests_error_count) + :had_passed_testsests_error_count => had_passed_testsests_error_count) multi_webssh = shixun.webssh == 2 && shixun.multi_webssh result = {:tpm_modified => tpm_modified, :tpm_cases_modified => tpm_cases_modified, :hide_code => shixun.hide_code, :forbid_copy => shixun.forbid_copy, :output_sets => output_hash, :latest_output => latest_output, :mirror_name => mirror_name, :multi_webssh => multi_webssh, @@ -533,6 +533,7 @@ class GamesService # 更新评测次数 game.update_column(:evaluate_count, (game.evaluate_count.to_i + 1)) + shixun.increment!(:evaluate_count) # 清空代码评测信息 msg = game.run_code_message msg.update_attributes(:status => 0, :message => nil) if msg.present? @@ -599,9 +600,9 @@ class GamesService return {:result => "success", :resubmit => resubmit, :ableToCreate => res['ableToCreate'], :waitNum => res['waitNum'], :waitingTime => res['waitingTime'], :position => game_challenge.position, :port => res['port'], :had_done => game.had_done} - # rescue Exception => e - # Rails.logger.error("评测出错,详情:" + e.message) - # return {:result => 'fail', :contents =>"实训云平台繁忙(繁忙等级:502),请稍后刷新并重试", :position => game_challenge.position, :had_done => game.had_done} + rescue Exception => e + Rails.logger.error("评测出错,详情:" + e.message) + return {:result => 'fail', :contents =>"实训云平台繁忙(繁忙等级:502),请稍后刷新并重试", :position => game_challenge.position, :had_done => game.had_done} end # 单评测类型(比较快的类型,实时返回结果,即不用中间层再回调trainint_task_status) @@ -693,6 +694,7 @@ class GamesService :evaluate_count]).find_by_identifier(params[:identifier]) # 更新评测次数 game.update_column(:evaluate_count, (game.evaluate_count.to_i + 1)) + game.challenge.shixun.increment!(:evaluate_count) # 选择题如果通关了,则不让再评测 if game.status == 2