Show More
Commit Description:
[web] fix time.new, time.now to use gmtime...
Commit Description:
[web] fix time.new, time.now to use gmtime git-svn-id: http://theory.cpe.ku.ac.th/grader/web/trunk@249 6386c4cd-e34a-4fa8-8920-d93eb39b512e
File last commit:
Show/Diff file:
Action:
app/models/grader_process.rb | 53 lines | 1.3 KiB | text/x-ruby | RubyLexer |
jittat
started grader_process...
r29 class GraderProcess < ActiveRecord::Base
jittat
renamed ip to host in GraderProcess...
r34 def self.find_by_host_and_pid(host,pid)
jittat
started grader_process...
r29 return GraderProcess.find(:first,
:conditions => {
jittat
renamed ip to host in GraderProcess...
r34 :host => host,
jittat
started grader_process...
r29 :pid => pid
})
end
jittat
renamed ip to host in GraderProcess...
r34
def self.register(host,pid,mode)
grader = GraderProcess.find_by_host_and_pid(host,pid)
jittat
add grader list...
r32 if grader
grader.mode = mode
grader.active = nil
grader.task_id = nil
jittat
[web] updated grader monitoring...
r105 grader.task_type = nil
jittat
add grader list...
r32 grader.save
else
jittat
renamed ip to host in GraderProcess...
r34 grader = GraderProcess.create(:host => host,
jittat
add grader list...
r32 :pid => pid,
:mode => mode)
end
grader
end
def self.find_stalled_process()
GraderProcess.find(:all,
:conditions => ["active AND updated_at < ?",
Time.now.gmtime - GraderProcess.stalled_time])
end
def report_active(task=nil)
self.active = true
jittat
[web] updated grader monitoring...
r105 self.task_id = task.id
self.task_type = task.class.to_s
jittat
add grader list...
r32 self.save
jittat
started grader_process...
r29 end
jittat
add grader list...
r32 def report_inactive()
self.active = false
jittat
[web] updated grader monitoring...
r105 self.task_id = nil
self.task_type = nil
jittat
add grader list...
r32 self.save
jittat
started grader_process...
r29 end
jittat
add grader list...
r32 protected
def self.stalled_time()
return 1.minute
end
jittat
started grader_process...
r29 end