Use Conccurrent::Future properly

This commit is contained in:
Sebastian Serth
2020-10-25 16:09:51 +01:00
parent 380b1a5ba1
commit 0988e41f6d

View File

@ -3,8 +3,8 @@ require 'concurrent/future'
module SubmissionScoring
def collect_test_results(submission)
# Mnemosyne.trace 'custom.codeocean.collect_test_results', meta: { submission: submission.id } do
submission.collect_files.select(&:teacher_defined_assessment?).map do |file|
future = Concurrent::Future.execute do
futures = submission.collect_files.select(&:teacher_defined_assessment?).map do |file|
Concurrent::Future.execute 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)
output = execute_test_file(file, submission)
@ -32,9 +32,8 @@ module SubmissionScoring
output.merge!(filename: file.name_with_extension, message: feedback_message(file, output), weight: file.weight)
# end
end
future.value
end
# end
futures.map(&:value)
end
private :collect_test_results