def qualify_admin_to_access(prj_id)
# nothing to do, admin can change everything on web admin tool
end
+
+
+ def accept_system_monitor(conn)
+ sock_domain, remote_port, remote_hostname, remote_ip = conn.peeraddr
+ @log.info "Connected to system monitor from #{remote_ip}"
+ Thread.new do
+ begin
+ while true
+ BuildCommServer.send(conn,
+ "=STATUS,OK,#{host_os},#{@jobmgr.max_working_jobs}")
+ sleep 5
+ end
+ rescue => e
+ @log.error e.message
+ ensure
+ BuildCommServer.disconnect(conn)
+ @log.info "Disconnected from system monitor on #{remote_ip}"
+ end
+ end
+ end
end
handle_cmd_fullbuild( req_line, req )
when "REGISTER"
handle_cmd_register( req_line, req )
+ when "MONITOR"
+ handle_cmd_monitor( req_line, req )
when "DOWNLOAD"
Thread.new do
begin
end
+ # "MONITOR"
+ def handle_cmd_monitor( line, req )
+ @log.info "Received REQ: #{line}"
+
+ begin
+ handle_cmd_monitor_internal( line, req )
+ rescue BuildServerException => e
+ @log.error(e.message)
+ BuildCommServer.send(req, e.err_message())
+ BuildCommServer.send_end(req)
+ BuildCommServer.disconnect(req)
+ end
+
+ @log.info "Handled REQ: #{line}"
+ end
+
+
+ def handle_cmd_monitor_internal( line, req )
+ tok = line.split("|").map { |x| x.strip }
+ if tok.count < 2 then
+ raise BuildServerException.new("ERR001"), line
+ end
+
+ case tok[1]
+ # MONITOR,SYSTEM
+ when "SYSTEM"
+ @parent_server.accept_system_monitor(req)
+ else
+ raise BuildServerException.new("ERR001"), line
+ end
+ end
+
+
# "UPLOAD"
def handle_cmd_upload( line, req )
@log.info "Received File transfer REQ : #{line}"