# HG changeset patch # User jittat # Date 2008-02-25 14:11:44 # Node ID 5e680c886b7e6a2d020105aa87b3d26d1f2805af # Parent 0fc0c11d6fb0a1ea9ca13e4ab2f06da0b3f80f6d renamed ip to host in GraderProcess git-svn-id: http://theory.cpe.ku.ac.th/grader/web/trunk@64 6386c4cd-e34a-4fa8-8920-d93eb39b512e diff --git a/app/models/grader_process.rb b/app/models/grader_process.rb --- a/app/models/grader_process.rb +++ b/app/models/grader_process.rb @@ -2,23 +2,23 @@ belongs_to :task - def self.find_by_ip_and_pid(ip,pid) + def self.find_by_host_and_pid(host,pid) return GraderProcess.find(:first, :conditions => { - :ip => ip, + :host => host, :pid => pid }) end - - def self.register(ip,pid,mode) - grader = GraderProcess.find_by_ip_and_pid(ip,pid) + + 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.save else - grader = GraderProcess.create(:ip => ip, + grader = GraderProcess.create(:host => host, :pid => pid, :mode => mode) end diff --git a/app/models/task.rb b/app/models/task.rb --- a/app/models/task.rb +++ b/app/models/task.rb @@ -8,14 +8,29 @@ self.status = Task::STATUS_INQUEUE end + def status_inqueue! + status_inqueue + self.save + end + def status_grading self.status = Task::STATUS_GRADING end + def status_grading! + status_grading + self.save + end + def status_complete self.status = Task::STATUS_COMPLETE end + def status_complete! + status_complete + self.save + end + def self.get_inqueue_and_change_status(status) task = nil begin diff --git a/app/views/graders/_grader.html.haml b/app/views/graders/_grader.html.haml --- a/app/views/graders/_grader.html.haml +++ b/app/views/graders/_grader.html.haml @@ -1,5 +1,5 @@ -%td= grader.ip +%td= grader.host %td= grader.pid %td= grader.updated_at.strftime("%H:%M:%S") if grader.updated_at!=nil %td diff --git a/app/views/graders/_grader_list.html.haml b/app/views/graders/_grader_list.html.haml --- a/app/views/graders/_grader_list.html.haml +++ b/app/views/graders/_grader_list.html.haml @@ -1,7 +1,7 @@ %table.graders %tr - %th ip + %th host %th pid %th last updated %th task diff --git a/db/migrate/017_rename_grader_process_column_ip_to_host.rb b/db/migrate/017_rename_grader_process_column_ip_to_host.rb new file mode 100644 --- /dev/null +++ b/db/migrate/017_rename_grader_process_column_ip_to_host.rb @@ -0,0 +1,9 @@ +class RenameGraderProcessColumnIpToHost < ActiveRecord::Migration + def self.up + rename_column :grader_processes, :ip, :host + end + + def self.down + rename_column :grader_processes, :host, :ip + end +end diff --git a/db/schema.rb b/db/schema.rb --- a/db/schema.rb +++ b/db/schema.rb @@ -9,10 +9,10 @@ # # It's strongly recommended to check this file into your version control system. -ActiveRecord::Schema.define(:version => 16) do +ActiveRecord::Schema.define(:version => 17) do create_table "grader_processes", :force => true do |t| - t.string "ip", :limit => 20 + t.string "host", :limit => 20 t.integer "pid" t.string "mode" t.boolean "active" @@ -21,7 +21,7 @@ t.integer "task_id" end - add_index "grader_processes", ["ip", "pid"], :name => "index_grader_processes_on_ip_and_pid" + add_index "grader_processes", ["host", "pid"], :name => "index_grader_processes_on_ip_and_pid" create_table "languages", :force => true do |t| t.string "name", :limit => 10