Show More
Commit Description:
force log out when password change
Commit Description:
force log out when password change
References:
File last commit:
Show/Diff file:
Action:
lib/grader_script.rb | 74 lines | 1.8 KiB | text/x-ruby | RubyLexer |
jittat
added more grader control...
r203 module GraderScript
def self.grader_control_enabled?
jittat
added problem import...
r204 if defined? GRADER_ROOT_DIR
GRADER_ROOT_DIR != ''
jittat
added more grader control...
r203 else
false
end
end
jittat
added problem import...
r204 def self.raw_dir
File.join GRADER_ROOT_DIR, "raw"
end
def self.call_grader(params)
jittat
added more grader control...
r203 if GraderScript.grader_control_enabled?
jittat
added problem import...
r204 cmd = File.join(GRADER_ROOT_DIR, "scripts/grader") + " " + params
jittat
added more grader control...
r203 system(cmd)
end
end
jittat
added problem import...
r204 def self.stop_grader(pid)
GraderScript.call_grader "stop #{pid}"
end
jittat
added more grader control...
r203 def self.stop_graders(pids)
Jittat Fakcharoenphol
changed to_a to to_s
r335 pid_str = (pids.map { |process| process.pid.to_s }).join ' '
jittat
added problem import...
r204 GraderScript.call_grader "stop #{pid_str}"
jittat
added more grader control...
r203 end
def self.start_grader(env)
add log
r460 GraderScript.call_grader "#{env} queue --err-log &"
GraderScript.call_grader "#{env} test_request -err-log &"
jittat
added problem import...
r204 end
- after submission, redirecto to edit_submission_path...
r696 #call the import problem script
jittat
added problem import...
r204 def self.call_import_problem(problem_name,
problem_dir,
time_limit=1,
memory_limit=32,
checker_name='text')
jittat
added more grader control...
r203 if GraderScript.grader_control_enabled?
jittat
added problem import...
r204 cur_dir = `pwd`.chomp
Dir.chdir(GRADER_ROOT_DIR)
script_name = File.join(GRADER_ROOT_DIR, "scripts/import_problem")
cmd = "#{script_name} #{problem_name} #{problem_dir} #{checker_name}" +
" -t #{time_limit} -m #{memory_limit}"
output = `#{cmd}`
Dir.chdir(cur_dir)
add show testcase feature
r625
add selectable checker (for now, only 'text' and 'float') in the problem import
r402 return "import CMD: #{cmd}\n" + output
jittat
added problem import...
r204 end
return ''
jittat
added more grader control...
r203 end
add show testcase feature
r625 def self.call_import_testcase(problem_name)
if GraderScript.grader_control_enabled?
cur_dir = `pwd`.chomp
Dir.chdir(GRADER_ROOT_DIR)
script_name = File.join(GRADER_ROOT_DIR, "scripts/load_testcase")
cmd = "#{script_name} #{problem_name}"
output = `#{cmd}`
Dir.chdir(cur_dir)
return "Testcase import result:\n" + output
end
end
jittat
added more grader control...
r203 end