Use current_locale for "not_graded" hint

This commit is contained in:
Sebastian Serth
2021-07-22 10:23:57 +02:00
parent 45ec4f1c15
commit 448b5e4a7a
2 changed files with 41 additions and 35 deletions

View File

@ -4,9 +4,11 @@ require 'concurrent/future'
module SubmissionScoring module SubmissionScoring
def collect_test_results(submission) def collect_test_results(submission)
current_locale = I18n.locale
# Mnemosyne.trace 'custom.codeocean.collect_test_results', meta: { submission: submission.id } do # Mnemosyne.trace 'custom.codeocean.collect_test_results', meta: { submission: submission.id } do
futures = submission.collect_files.select(&:teacher_defined_assessment?).map do |file| futures = submission.collect_files.select(&:teacher_defined_assessment?).map do |file|
Concurrent::Future.execute do Concurrent::Future.execute do
I18n.with_locale(current_locale) do
# Mnemosyne.trace 'custom.codeocean.collect_test_results_block', meta: { file: file.id, submission: submission.id } do # Mnemosyne.trace 'custom.codeocean.collect_test_results_block', meta: { file: file.id, submission: submission.id } do
assessor = Assessor.new(execution_environment: submission.execution_environment) assessor = Assessor.new(execution_environment: submission.execution_environment)
output = execute_test_file(file, submission) output = execute_test_file(file, submission)
@ -46,6 +48,7 @@ module SubmissionScoring
# end # end
end end
end end
end
futures.map(&:value) futures.map(&:value)
end end

View File

@ -366,13 +366,16 @@ class SubmissionsController < ApplicationController
# the score_submission call will end up calling docker exec, which is blocking. # the score_submission call will end up calling docker exec, which is blocking.
# to ensure responsiveness, we therefore open a thread here. # to ensure responsiveness, we therefore open a thread here.
current_locale = I18n.locale
Thread.new do Thread.new do
I18n.with_locale(current_locale) do
tubesock.send_data JSON.dump(score_submission(@submission)) tubesock.send_data JSON.dump(score_submission(@submission))
# To enable hints when scoring a submission, uncomment the next line: # To enable hints when scoring a submission, uncomment the next line:
# send_hints(tubesock, StructuredError.where(submission: @submission)) # send_hints(tubesock, StructuredError.where(submission: @submission))
tubesock.send_data JSON.dump({'cmd' => 'exit'}) tubesock.send_data JSON.dump({'cmd' => 'exit'})
end
ensure ensure
ActiveRecord::Base.connection_pool.release_connection ActiveRecord::Base.connection_pool.release_connection
end end