Please enable JavaScript to use RhodeCode Enterprise
Commit Description:
merge
Commit Description:
merge
class GraderProcess < ActiveRecord :: Base
def self . find_by_host_and_pid ( host , pid )
return GraderProcess . where ( host : host ) . where ( pid : pid ) . first
end
def self . register ( host , pid , mode )
grader = GraderProcess . find_by_host_and_pid ( host , pid )
if grader
grader . mode = mode
grader . active = nil
grader . task_id = nil
grader . task_type = nil
grader . terminated = false
grader . save
else
grader = GraderProcess . create ( :host => host ,
:pid => pid ,
:mode => mode ,
:terminated => false )
end
grader
end
def self . find_running_graders
where ( terminated : false )
end
def self . find_terminated_graders
where ( terminated : true )
end
def self . find_stalled_process
where ( terminated : false ) . where ( active : true ) . where ( "updated_at < ?" , Time . now . gmtime - GraderProcess . stalled_time )
end
def report_active ( task = nil )
self . active = true
if task! = nil
self . task_id = task . id
self . task_type = task . class . to_s
else
self . task_id = nil
self . task_type = nil
end
self . save
end
def report_inactive ( task = nil )
self . active = false
if task! = nil
self . task_id = task . id
self . task_type = task . class . to_s
else
self . task_id = nil
self . task_type = nil
end
self . save
end
def terminate
self . terminated = true
self . save
end
protected
def self . stalled_time ()
return 1 . minute
end
end
Site-wide shortcuts
/
Use quick search box
g h
Goto home page
g g
Goto my private gists page
g G
Goto my public gists page
n r
New repository page
n g
New gist page
Repositories
g s
Goto summary page
g c
Goto changelog page
g f
Goto files page
g F
Goto files page with file search activated
g p
Goto pull requests page
g o
Goto repository settings
g O
Goto repository permissions settings