Description:
[grader] better status report for grader processes git-svn-id: http://theory.cpe.ku.ac.th/grader/judge/trunk/scripts@256 6386c4cd-e34a-4fa8-8920-d93eb39b512e
Commit status:
[Not Reviewed]
References:
Comments:
0 Commit comments 0 Inline Comments
Unresolved TODOs:
There are no unresolved TODOs
Add another comment

r60:3eee9b559221 - - 1 file changed: 0 inserted, 4 deleted

@@ -11,26 +11,24
11 @grader_process = grader_process
11 @grader_process = grader_process
12 end
12 end
13
13
14 def grade_oldest_task
14 def grade_oldest_task
15 task = Task.get_inqueue_and_change_status(Task::STATUS_GRADING)
15 task = Task.get_inqueue_and_change_status(Task::STATUS_GRADING)
16 if task!=nil
16 if task!=nil
17 @grader_process.report_active(task) if @grader_process!=nil
17 @grader_process.report_active(task) if @grader_process!=nil
18
18
19 submission = Submission.find(task.submission_id)
19 submission = Submission.find(task.submission_id)
20 @engine.grade(submission)
20 @engine.grade(submission)
21 task.status_complete!
21 task.status_complete!
22 @grader_process.report_inactive(task) if @grader_process!=nil
22 @grader_process.report_inactive(task) if @grader_process!=nil
23 - else
24 - @grader_process.report_inactive if @grader_process!=nil
25 end
23 end
26 return task
24 return task
27 end
25 end
28
26
29 def grade_problem(problem)
27 def grade_problem(problem)
30 users = User.find(:all)
28 users = User.find(:all)
31 users.each do |u|
29 users.each do |u|
32 puts "user: #{u.login}"
30 puts "user: #{u.login}"
33 last_sub = Submission.find(:first,
31 last_sub = Submission.find(:first,
34 :conditions => "user_id = #{u.id} and " +
32 :conditions => "user_id = #{u.id} and " +
35 "problem_id = #{problem.id}",
33 "problem_id = #{problem.id}",
36 :order => 'submitted_at DESC')
34 :order => 'submitted_at DESC')
@@ -39,22 +37,20
39 end
37 end
40 end
38 end
41 end
39 end
42
40
43 def grade_oldest_test_request
41 def grade_oldest_test_request
44 test_request = TestRequest.get_inqueue_and_change_status(Task::STATUS_GRADING)
42 test_request = TestRequest.get_inqueue_and_change_status(Task::STATUS_GRADING)
45 if test_request!=nil
43 if test_request!=nil
46 @grader_process.report_active(test_request) if @grader_process!=nil
44 @grader_process.report_active(test_request) if @grader_process!=nil
47
45
48 @engine.grade(test_request)
46 @engine.grade(test_request)
49 test_request.status_complete!
47 test_request.status_complete!
50 @grader_process.report_inactive(test_request) if @grader_process!=nil
48 @grader_process.report_inactive(test_request) if @grader_process!=nil
51 - else
52 - @grader_process.report_inactive if @grader_process!=nil
53 end
49 end
54 return test_request
50 return test_request
55 end
51 end
56
52
57 end
53 end
58
54
59 end
55 end
60
56
You need to be logged in to leave comments. Login now