[Title] Added "start_time", "end_time" to Job attributes
authordonghee yang <donghee.yang@samsung.com>
Mon, 29 Oct 2012 04:51:50 +0000 (13:51 +0900)
committerdonghee yang <donghee.yang@samsung.com>
Mon, 29 Oct 2012 04:51:50 +0000 (13:51 +0900)
src/build_server/BuildServer.rb
src/build_server/CommonJob.rb

index 407df752206f2cfe598cb8932807da059503eb5c..cd3b160149ef4786bd6e30dfd6e57ca142782ddb 100644 (file)
@@ -567,7 +567,7 @@ class BuildServer
                        db.do "CREATE TABLE IF NOT EXISTS project_packages(prj_id INTEGER, pkg_ver VARCHAR(64), pkg_name VARCHAR(64), pkg_os VARCHAR(32))"
 
                        # JOBS
-                       db.do "CREATE TABLE IF NOT EXISTS jobs(id INTEGER PRIMARY KEY, jtype VARCHAR(32), os_name VARCHAR(32), user_id INTEGER, parent_job_id INTEGER, status VARCHAR(32), prj_id INTEGER, dist_name VARCHAR(32) )"
+                       db.do "CREATE TABLE IF NOT EXISTS jobs(id INTEGER PRIMARY KEY, jtype VARCHAR(32), os_name VARCHAR(32), user_id INTEGER, parent_job_id INTEGER, status VARCHAR(32), prj_id INTEGER, dist_name VARCHAR(32), start_time VARCHAR(32), end_time VARCHAR(32) )"
 
                rescue DBI::DatabaseError => e
                        puts "DB Creation failed!"
index 3d20cc5968bf76bb5825f6575c7b6f9036f7ed8a..00f69d1da70e5e4e2debf2feaeb08f94ce5b930f 100644 (file)
@@ -27,6 +27,7 @@ Contributors:
 =end
 
 require "fileutils"
+require "time"
 $LOAD_PATH.unshift File.dirname(__FILE__)
 $LOAD_PATH.unshift File.dirname(File.dirname(__FILE__))+"/common"
 require "utils.rb"
@@ -56,6 +57,9 @@ class CommonJob
                @status = "JUST_CREATED"
                @log = nil
 
+               @start_time = Time.now
+               @end_time = nil
+
                @sub_pid = 0
        end
 
@@ -192,9 +196,14 @@ class CommonJob
 
                row=db.select_one("SELECT * FROM jobs WHERE id=#{@id}")
                if row.nil? then
-                       db.do "INSERT INTO jobs VALUES (#{@id},'#{@type}','#{@os}', #{@user_id}, #{parent_id}, '#{@status}', #{prj_id}, '#{dist_name}')"
+                       start_time = @start_time.strftime("%F %T")
+                       db.do "INSERT INTO jobs VALUES (#{@id},'#{@type}','#{@os}', #{@user_id}, #{parent_id}, '#{@status}', #{prj_id}, '#{dist_name}', '#{start_time}', '')"
                else
                        db.do "UPDATE jobs SET status='#{@status}' WHERE id=#{@id}"
+                       if @status == "FINISHED" or @status == "ERROR" or @status == "CANCELED" then
+                               @end_time = Time.now.strftime("%F %T")
+                               db.do "UPDATE jobs SET end_time='#{@end_time}' WHERE id=#{@id}"
+                       end
                end
        end