Description:
added termination reporting to grader (using at_exit) git-svn-id: http://theory.cpe.ku.ac.th/grader/judge/trunk/scripts@377 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

r70:347e4eeef742 - - 1 file changed: 8 inserted, 3 deleted

@@ -119,24 +119,32
119 # register grader process
119 # register grader process
120 if config.report_grader
120 if config.report_grader
121 grader_proc = GraderProcess.register(config.grader_hostname,
121 grader_proc = GraderProcess.register(config.grader_hostname,
122 Process.pid,
122 Process.pid,
123 grader_mode)
123 grader_mode)
124 else
124 else
125 grader_proc = nil
125 grader_proc = nil
126 end
126 end
127
127
128 #set loggin environment
128 #set loggin environment
129 ENV['GRADER_LOGGING'] = log_file_name
129 ENV['GRADER_LOGGING'] = log_file_name
130
130
131 + # register exit handler to report inactive, and terminated
132 + at_exit do
133 + if grader_proc!=nil
134 + grader_proc.report_inactive
135 + grader_proc.terminate
136 + end
137 + end
138 +
131 #
139 #
132 # MAIN LOOP
140 # MAIN LOOP
133 #
141 #
134
142
135 case grader_mode
143 case grader_mode
136 when "queue", "test_request"
144 when "queue", "test_request"
137 log "Grader: #{grader_mode}"
145 log "Grader: #{grader_mode}"
138 if grader_mode=="queue"
146 if grader_mode=="queue"
139 engine = Grader::Engine.new
147 engine = Grader::Engine.new
140 else
148 else
141 engine = Grader::Engine.new(Grader::TestRequestRoomMaker.new,
149 engine = Grader::Engine.new(Grader::TestRequestRoomMaker.new,
142 Grader::TestRequestReporter.new)
150 Grader::TestRequestReporter.new)
@@ -198,15 +206,12
198 end
206 end
199
207
200 if submission!=nil
208 if submission!=nil
201 runner.grade_submission(submission)
209 runner.grade_submission(submission)
202 end
210 end
203 end
211 end
204
212
205 else
213 else
206 display_manual
214 display_manual
207 exit(0)
215 exit(0)
208 end
216 end
209
217
210 - # report inactive
211 - grader_proc.report_inactive if grader_proc!=nil
212 -
You need to be logged in to leave comments. Login now