Version Differences for Remoting Specific Scripts

(AHPSCRIPTS-135)
(AHPSCRIPTS-134)
Line 1556:
       
  //BMG</pre>    //BMG</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>