Exemplo n.º 1
0
 /**
  * @brief get status var and store successfulAgents
  * @param string $agentName
  * @return mixed[]
  */
 protected function scanAgentStatus($agentName)
 {
     $successfulAgents = $this->agentDao->getSuccessfulAgentEntries($agentName, $this->uploadId);
     $vars['successfulAgents'] = $successfulAgents;
     $vars['uploadId'] = $this->uploadId;
     $vars['agentName'] = $agentName;
     if (!count($successfulAgents)) {
         $vars['isAgentRunning'] = count($this->agentDao->getRunningAgentIds($this->uploadId, $agentName)) > 0;
         return $vars;
     }
     $latestSuccessfulAgent = $successfulAgents[0];
     $currentAgentRef = $this->agentDao->getCurrentAgentRef($agentName);
     $vars['currentAgentId'] = $currentAgentRef->getAgentId();
     $vars['currentAgentRev'] = $currentAgentRef->getAgentRevision();
     if ($currentAgentRef->getAgentId() != $latestSuccessfulAgent['agent_id']) {
         $runningJobs = $this->agentDao->getRunningAgentIds($this->uploadId, $agentName);
         $vars['isAgentRunning'] = in_array($currentAgentRef->getAgentId(), $runningJobs);
     }
     foreach ($successfulAgents as $agent) {
         $this->successfulScanners[$agentName][] = new AgentRef($agent['agent_id'], $agentName, $agent['agent_rev']);
     }
     return $vars;
 }