Description:
add grader stop, fix ARGV bug
git-svn-id: http://theory.cpe.ku.ac.th/grader/cli/trunk/scripts@19 6386c4cd-e34a-4fa8-8920-d93eb39b512e
Commit status:
[Not Reviewed]
References:
Diff options:
Comments:
0 Commit comments
0 Inline Comments
Unresolved TODOs:
There are no unresolved TODOs
r6:f3b2d1128766 - - 1 file changed: 36 inserted, 4 deleted
@@ -81,15 +81,41 | |||||
|
81 | save_result(sub,read_result("#{problem_out_dir}/test-result")) |
|
81 | save_result(sub,read_result("#{problem_out_dir}/test-result")) |
|
82 | end |
|
82 | end |
|
83 |
|
83 | ||
|
84 | - # reading environment |
|
84 | + def stop_grader |
|
|
85 | + File.open(File.dirname(__FILE__) + '/stop','w') | ||
|
|
86 | + end | ||
|
|
87 | + | ||
|
|
88 | + def check_stopfile | ||
|
|
89 | + FileTest.exist?(File.dirname(__FILE__) + '/stop') | ||
|
|
90 | + end | ||
|
|
91 | + | ||
|
|
92 | + def clear_stopfile | ||
|
|
93 | + system("rm " + File.dirname(__FILE__) + '/stop') | ||
|
|
94 | + end | ||
|
|
95 | + | ||
|
|
96 | + # reading environment and options | ||
|
|
97 | + if (ARGV.length >= 1) and (ARGV[0]=='stop') | ||
|
|
98 | + stop_grader | ||
|
|
99 | + puts "stop file created" | ||
|
|
100 | + exit(0) | ||
|
|
101 | + end | ||
|
|
102 | + | ||
|
|
103 | + if check_stopfile | ||
|
|
104 | + puts "stop file exists" | ||
|
|
105 | + clear_stopfile | ||
|
|
106 | + exit(0) | ||
|
|
107 | + end | ||
|
|
108 | + | ||
|
|
109 | + if ARGV.length >= 1 | ||
|
|
110 | + GRADER_ENV = ARGV[0] | ||
|
|
111 | + else | ||
|
85 | GRADER_ENV = 'exam' |
|
112 | GRADER_ENV = 'exam' |
|
86 | - if ARGV.length > 1 |
|
||
|
87 | - GRADER_ENV = ARGV[1] |
|
||
|
88 | end |
|
113 | end |
|
|
114 | + | ||
|
|
115 | + puts "environment: #{GRADER_ENV}" | ||
|
89 | require File.dirname(__FILE__) + "/environment.rb" |
|
116 | require File.dirname(__FILE__) + "/environment.rb" |
|
90 |
|
117 | ||
|
91 | #main program |
|
118 | #main program |
|
92 | - |
|
||
|
93 | talk 'Reading rails environment' |
|
119 | talk 'Reading rails environment' |
|
94 |
|
120 | ||
|
95 | RAILS_ENV = 'development' |
|
121 | RAILS_ENV = 'development' |
@@ -99,6 +125,12 | |||||
|
99 |
|
125 | ||
|
100 | talk 'Grader queue' |
|
126 | talk 'Grader queue' |
|
101 | while true |
|
127 | while true |
|
|
128 | + if check_stopfile # created by calling grader stop | ||
|
|
129 | + clear_stopfile | ||
|
|
130 | + puts "stopped" | ||
|
|
131 | + exit(0) | ||
|
|
132 | + end | ||
|
|
133 | + | ||
|
102 | task = Task.find(:first, :order => 'created_at') |
|
134 | task = Task.find(:first, :order => 'created_at') |
|
103 | if task!=nil |
|
135 | if task!=nil |
|
104 | grade(task.submission_id) |
|
136 | grade(task.submission_id) |
You need to be logged in to leave comments.
Login now