req_line = req.gets
if req_line.nil? then return end
+ # accept
+ BuildCommServer.send_begin(req)
+
# parse request
cmd = ""
if req_line.split("|").count > 0 then
begin
handle_cmd_build_internal( line, req )
rescue BuildServerException => e
- BuildCommServer.send_begin(req)
@log.error(e.message)
BuildCommServer.send(req, e.err_message())
BuildCommServer.send_end(req)
if no_reverse then new_job.set_no_reverse end
# create logger and set
- logger = JobLog.new( new_job, req, verbose )
- if not async then new_job.set_logger(logger) end
- logger.init
-
- # notify that job has been received
- logger.info( "Added new job \"#{new_job.id}\" for #{new_job.os}!", Log::LV_USER)
- if not @parent_server.job_log_url.empty? then
- logger.info( " * Log URL : #{@parent_server.job_log_url}/#{new_job.id}/log", Log::LV_USER)
- end
-
- # if asynchronouse, quit connection
if async then
- logger.info( "Above job(s) will be processed asynchronously!", Log::LV_USER)
- logger.close
+ new_job.create_logger( nil, verbose)
+ BuildCommServer.send(req,"Info: Added new job \"#{new_job.id}\" for #{new_job.os}!")
+ if not @parent_server.job_log_url.empty? then
+ BuildCommServer.send(req,"Info: * Log URL : #{@parent_server.job_log_url}/#{new_job.id}/log")
+ end
+ BuildCommServer.send(req,"Info: Above job(s) will be processed asynchronously!")
+ BuildCommServer.send_end(req)
+ BuildCommServer.disconnect(req)
+ else
+ logger = new_job.create_logger( req, verbose)
+ logger.info( "Added new job \"#{new_job.id}\" for #{new_job.os}!", Log::LV_USER)
+ if not @parent_server.job_log_url.empty? then
+ logger.info( " * Log URL : #{@parent_server.job_log_url}/#{new_job.id}/log", Log::LV_USER)
+ end
end
# add to job queue
begin
handle_cmd_resolve_internal( line, req )
rescue BuildServerException => e
- BuildCommServer.send_begin(req)
@log.error(e.message)
BuildCommServer.send(req, e.err_message())
BuildCommServer.send_end(req)
new_job.set_resolve_flag()
# create logger and set
- logger = JobLog.new( new_job, req, verbose )
- if not async then new_job.set_logger(logger) end
- logger.init
-
- # notify that job has been received
- logger.info( "Added new job \"#{new_job.id}\" for #{new_job.os}!", Log::LV_USER)
- if not @parent_server.job_log_url.empty? then
- logger.info( " * Log URL : #{@parent_server.job_log_url}/#{new_job.id}/log", Log::LV_USER)
- end
-
- # if asynchronouse, quit connection
if async then
- logger.info( "Above job(s) will be processed asynchronously!", Log::LV_USER)
- logger.close
+ new_job.create_logger( nil, verbose)
+ BuildCommServer.send(req,"Info: Added new job \"#{new_job.id}\" for #{new_job.os}!")
+ if not @parent_server.job_log_url.empty? then
+ BuildCommServer.send(req,"Info: * Log URL : #{@parent_server.job_log_url}/#{new_job.id}/log")
+ end
+ BuildCommServer.send(req,"Info: Above job(s) will be processed asynchronously!")
+ BuildCommServer.send_end(req)
+ BuildCommServer.disconnect(req)
+ else
+ logger = new_job.create_logger( req, verbose)
+ logger.info( "Added new job \"#{new_job.id}\" for #{new_job.os}!", Log::LV_USER)
+ if not @parent_server.job_log_url.empty? then
+ logger.info( " * Log URL : #{@parent_server.job_log_url}/#{new_job.id}/log", Log::LV_USER)
+ end
end
@parent_server.jobmgr.add_job( new_job )
begin
handle_cmd_query_internal( line, req )
rescue BuildServerException => e
- BuildCommServer.send_begin(req)
@log.error(e.message)
BuildCommServer.send(req, e.err_message())
BuildCommServer.send_end(req)
# QUERY, FTP
when "FTP"
- BuildCommServer.send_begin(req)
if not @parent_server.ftp_addr.nil? then
BuildCommServer.send(req,"#{@parent_server.ftp_addr},#{@parent_server.ftp_username},#{@parent_server.ftp_passwd}")
else
job_list = @parent_server.jobmgr.jobs + @parent_server.jobmgr.internal_jobs + @parent_server.jobmgr.reverse_build_jobs
# send the status
- BuildCommServer.send_begin(req)
job_list.each do |job|
status = job.status
if status == "REMOTE_WORKING" then status = "REMOTE" end
when "SYSTEM"
#puts "Received QUERY SYSTEM"
- BuildCommServer.send_begin(req)
BuildCommServer.send(req,"#{@parent_server.host_os},#{@parent_server.jobmgr.max_working_jobs}")
BuildCommServer.send_end(req)
BuildCommServer.disconnect(req)
when "PROJECT"
- BuildCommServer.send_begin(req)
# print GIT projects
sorted_list = @parent_server.prjmgr.get_all_projects().sort { |x,y| x.name <=> y.name }
sorted_list.each do |prj|
BuildCommServer.disconnect(req)
when "OS"
- BuildCommServer.send_begin(req)
# print GIT projects
@parent_server.supported_os_list.each do |os_name|
BuildCommServer.send(req,"#{os_name}")
BuildCommServer.disconnect(req)
when "FRIEND"
- BuildCommServer.send_begin(req)
# print GIT projects
@parent_server.remote_servers.each do |server|
BuildCommServer.send(req,"#{server.status},#{server.host_os},#{server.waiting_job_count},#{server.working_job_count},#{server.max_working_jobs},#{server.get_file_transfer_cnt}")
begin
handle_cmd_cancel_internal( line, req )
rescue BuildServerException => e
- BuildCommServer.send_begin(req)
@log.error(e.message)
BuildCommServer.send(req, e.err_message())
BuildCommServer.send_end(req)
check_project_password( sub.get_project, tok[2], req)
end
- BuildCommServer.send_begin(req)
BuildCommServer.send(req, "\"#{cancel_job.id}, #{cancel_job.get_sub_jobs().map{|x| x.id}.join(", ")}\" will be canceled")
cancel_job.cancel_state = "INIT"
BuildCommServer.send_end(req)
if not prj.nil? then
check_project_password( prj, tok[2], req)
- BuildCommServer.send_begin(req)
BuildCommServer.send(req, "\"#{cancel_job.id}\" will be canceled")
cancel_job.cancel_state = "INIT"
BuildCommServer.send_end(req)
begin
handle_cmd_stop_internal( line, req )
rescue BuildServerException => e
- BuildCommServer.send_begin(req)
@log.error(e.message)
BuildCommServer.send(req, e.err_message())
BuildCommServer.send_end(req)
if tok[1] != @parent_server.password then
raise BuildServerException.new("ERR015"), ""
else
- BuildCommServer.send_begin(req)
BuildCommServer.send(req,"Server will be down!")
BuildCommServer.send_end(req)
BuildCommServer.disconnect(req)
begin
handle_cmd_upgrade_internal( line, req )
rescue BuildServerException => e
- BuildCommServer.send_begin(req)
@log.error(e.message)
BuildCommServer.send(req, e.err_message())
BuildCommServer.send_end(req)
if tok[1] != @parent_server.password then
raise BuildServerException.new("ERR015"), ""
else
- BuildCommServer.send_begin(req)
BuildCommServer.send(req,"Server will be upgraded!")
BuildCommServer.send_end(req)
BuildCommServer.disconnect(req)
begin
handle_cmd_fullbuild_internal( line, req )
rescue BuildServerException => e
- BuildCommServer.send_begin(req)
@log.error(e.message)
BuildCommServer.send(req, e.err_message())
BuildCommServer.send_end(req)
new_job = @parent_server.prjmgr.create_new_full_build_job(dist_name)
# set logger
- logger = JobLog.new( new_job, req)
- new_job.set_logger(logger)
- logger.init
+ new_job.create_logger( req )
# add to job
@parent_server.jobmgr.add_job( new_job )
begin
handle_cmd_register_internal( line, req )
rescue BuildServerException => e
- BuildCommServer.send_begin(req)
@log.error(e.message)
BuildCommServer.send(req, e.err_message())
BuildCommServer.send_end(req)
check_distribution(dist_name, req)
new_job = @parent_server.jobmgr.create_new_register_job( file_path, dist_name )
- logger = JobLog.new( new_job, req )
- new_job.set_logger(logger)
- logger.init
+ new_job.create_logger( req )
# add
@parent_server.jobmgr.add_job( new_job )
if no_reverse then new_job.set_no_reverse end
# create logger and set
- logger = JobLog.new( new_job, req )
- new_job.set_logger(logger)
- logger.init
+ logger = new_job.create_logger(req)
# notify that job has been received
logger.info( "Added new job \"#{new_job.id}\" for #{new_job.os}!", Log::LV_USER)
tok = line.split("|").map { |x| x.strip }
dock_num = (tok[1].nil? or tok[1].empty?) ? "0" : tok[1].strip
- BuildCommServer.send_begin(req)
incoming_dir = "#{@parent_server.transport_path}/#{dock_num}"
if not File.exist? incoming_dir then FileUtils.mkdir_p incoming_dir end
@comm_server.receive_file( req, incoming_dir )
@log.info "Received a request for download file : #{file_name}"
outgoing_dir = "#{@parent_server.transport_path}/#{dock_num}"
- BuildCommServer.send_begin(req)
@log.info "Sending requested file...: #{file_name}"
@comm_server.send_file(req, "#{outgoing_dir}/#{file_name}")
# remove file if "dock" defined