|
(→Create a Folder and Append Name if One Already Exists)
|
(→Find All Agents Online And Offline)
|
| Line 2314: | |||
| BuildRequest br = new BuildRequest(bl, wflow, sg, usr, rse, req); | BuildRequest br = new BuildRequest(bl, wflow, sg, usr, rse, req); | ||
| BuildService.getInstance().runWorkflow(br);</pre> | BuildService.getInstance().runWorkflow(br);</pre> | ||
| - | = Find All Agents Online And Offline = | ||
| - | * This can be heavily modified for practical uses in other applications (such as finding agents online in each environment versus offline, return just a list of online agents, return just a list of offline agents, etc.). The following script will return the status of all agents that the server is aware of: | ||
| - | ==== AHPSCRIPTS-128 ==== | ||
| - | <pre>/***********************************************************************/ | ||
| - | /* */ | ||
| - | /* This script will retrieve all online agents across all environments */ | ||
| - | /* and print this information out */ | ||
| - | /* */ | ||
| - | /* @author BMG */ | ||
| - | /* @date 02/22/2011 */ | ||
| - | /* */ | ||
| - | /***********************************************************************/ | ||
| - | import com.urbancode.anthill3.main.client.AnthillClient; | ||
| - | import com.urbancode.anthill3.persistence.UnitOfWork; | ||
| - | import com.urbancode.anthill3.domain.agent.*; | ||
| - | import com.urbancode.anthill3.services.agent.AgentManager; | ||
| - | //The following settings are for establishing a connection to the | ||
| - | //anthill server | ||
| - | String username = "admin"; | ||
| - | String password = "admin"; | ||
| - | String host = "localhost"; | ||
| - | int remotingPort = 4567; | ||
| - | //obtain connection to the Anthill server | ||
| - | AnthillClient anthill = AnthillClient.connect(host, remotingPort, username, password); | ||
| - | //create a Unit of Work | ||
| - | UnitOfWork uow = anthill.createUnitOfWork(); | ||
| - | //Make room for debug info | ||
| - | print("\n\n"); | ||
| - | //quick description | ||
| - | Thread.sleep(333); | ||
| - | print("Now attempting to query all agents, and return status of each. PLEASE WAIT. . ."); | ||
| - | Thread.sleep(500); | ||
| - | //main script | ||
| - | String agentName; | ||
| - | String environmentName; | ||
| - | int online = 0; | ||
| - | int offline = 0; | ||
| - | int total = 0; | ||
| - | int none = 0; | ||
| - | boolean others = false; | ||
| - | AgentFactory agentFactory = AgentFactory.getInstance(); | ||
| - | Agent[] agentArray = agentFactory.restoreAll(); | ||
| - | print(""); | ||
| - | for (index : agentArray){ | ||
| - | status = AgentManager.getInstance().getAgentStatus(index); | ||
| - | if (status != null && status.isOnline()){ | ||
| - | agentName = index.getName(); | ||
| - | print("[ ] - Agent '" + agentName + "' is returning ONLINE."); | ||
| - | online++; | ||
| - | } | ||
| - | else if (status != null && !status.isOnline()){ | ||
| - | agentName = index.getName(); | ||
| - | print("[ERROR] - Agent '" + agentName + "' is returning OFFLINE."); | ||
| - | offline++; | ||
| - | } | ||
| - | else{ | ||
| - | print(status); | ||
| - | others = true; | ||
| - | } | ||
| - | total++; | ||
| - | } | ||
| - | Thread.sleep(1000); | ||
| - | print(""); | ||
| - | print(""); | ||
| - | print("+------------------------+ "); | ||
| - | print("+ TOTAL ONLINE AGENTS : " + online); | ||
| - | print("+ TOTAL OFFLINE AGENTS : " + offline); | ||
| - | if (others==true){ | ||
| - | print("+ TOTAL UNKNOWN AGENTS : " + none); | ||
| - | } | ||
| - | print("+ TOTAL AGENTS : " + total); | ||
| - | print("+------------------------+ "); | ||
| - | uow.commitAndClose(); | ||
| - | print("\n\n"); | ||
| - | //BMG</pre> | ||