From: jiil.hyoun Date: Tue, 27 Nov 2012 11:33:11 +0000 (+0900) Subject: [Title] cancel support user_email X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a39af932554d4a22a71ea019c08386194cceaf91;p=sdk%2Ftools%2Fsdk-build.git [Title] cancel support user_email [Type] Enhancement [Module] Toolchain / [Priority] Major [Jira#] [Redmine#] [Problem] [Cause] [Solution] [TestCase] Change-Id: I6a85ff2733c5bbcd68f22de75a25d6b8e02fe9d8 --- diff --git a/build-cli b/build-cli index 7b4ff0a..6aead78 100755 --- a/build-cli +++ b/build-cli @@ -246,7 +246,7 @@ begin if not option[:job].nil? then client = BuildCommClient.create( result[0], result[1], nil, 0 ) if not client.nil? then - client.send "CANCEL|#{option[:job]}|#{option[:passwd]}" + client.send "CANCEL|#{option[:job]}|#{option[:passwd]}|#{option[:user]}" result1 = client.receive_data() if result1.nil? then puts "Error: #{client.get_error_msg()}" diff --git a/src/build_server/BuildJob.rb b/src/build_server/BuildJob.rb index c5d6843..c94f4ff 100644 --- a/src/build_server/BuildJob.rb +++ b/src/build_server/BuildJob.rb @@ -138,9 +138,6 @@ class BuildJob < CommonJob def set_remote_job(server) @is_remote_job = true @remote_server=server - @server.get_db_connection() do |db| - db.do "UPDATE jobs SET remote_build_server_id = '#{server.id}' WHERE id = '#{@id}'" - end end diff --git a/src/build_server/JobManager.rb b/src/build_server/JobManager.rb index 9dc822e..37147c2 100644 --- a/src/build_server/JobManager.rb +++ b/src/build_server/JobManager.rb @@ -107,6 +107,13 @@ class JobManager return RegisterPackageJob.new( file_path, nil, @server, nil, dist_name ) end + def set_remote(job) + job.set_remote_job(rserver) + @server.get_db_connection() do |db| + db.do "UPDATE jobs SET remote_build_server_id = '#{server.id}' WHERE id = '#{job.id}'" + end + end + # add a normal job def add_job ( new_job ) @server.log.info "Added new job \"#{new_job.id}\"" @@ -182,7 +189,7 @@ class JobManager def execute_remote(job, rserver) # start build - job.set_remote_job(rserver) + set_remote(job) if job.execute() then # status change & job control job.status = "REMOTE_WORKING" @@ -455,11 +462,10 @@ class JobManager return result end - def save_job_status(job) now = @server.db_now result = @server.get_db_connection() do |db| - return job.save(db, now) + job.save(db, now) end return result diff --git a/src/build_server/SocketJobRequestListener.rb b/src/build_server/SocketJobRequestListener.rb index d5dddc2..ada54f8 100644 --- a/src/build_server/SocketJobRequestListener.rb +++ b/src/build_server/SocketJobRequestListener.rb @@ -565,6 +565,15 @@ class SocketJobRequestListener end cancel_job = nil + # check user email + user_id = @parent_server.check_user_id_from_email( tok[3] ) + if user_id == -1 then + BuildCommServer.send_begin(req) + req.puts "Error: Cannot find the user with \"#{tok[3]}\"!" + BuildCommServer.send_end(req) + raise "No user information!" + end + #CANCEL, JOB @parent_server.jobmgr.jobs.each do |j| if "#{j.id}" == "#{tok[1]}" then