浏览代码

Mejora para actualizar devices en Stats automÃticamente.

Maximiliano Schvindt 6 年之前
父节点
当前提交
3b0770e36d

+ 4 - 6
src/StatsBundle/Command/DevicesCommand.php

@@ -28,13 +28,11 @@ class DevicesCommand extends ContainerAwareCommand
         /* @var $statsDeviceManager DeviceManager */
         $statsDeviceManager = $this->getContainer()->get('stats.device.manager');
         $devices = $statsDeviceManager->getDevices();
-        if (count($devices)) {
-            $output->writeln('Nuevos StatsDevice:');
-            foreach ($devices as $device) {
-                $output->writeln(sprintf('<info>DeviceType:</info> %s <info>DeviceId:</info> %s <info>Ip:</info> %s', $device->getDeviceType(), $device->getDeviceId(), $device->getIp()));
-            }
+        $date = date("Y-m-d H:i:s");
+        if ($devices) {
+            $output->writeln("Update {$date} - Devices actualizados: {$devices}");
         } else {
-            $output->writeln('No hay nuevos StatsDevice');
+            $output->writeln("Update {$date} - No se encontraron Devices para actualizar.");
         }
     }
 

+ 1 - 0
src/StatsBundle/Command/GenerateCrontabCommand.php

@@ -57,6 +57,7 @@ class GenerateCrontabCommand extends ContainerAwareCommand
         $oltLibraries = array('OIDSFiberHomeV1','OIDSHuaweiV1','OIDSFiberLinkV1','OIDSZTEV1','OIDSCalixV1');
 
         fwrite($handle, "*/5 * * * * {$pathConsole} generate:crontab".PHP_EOL);
+        fwrite($handle, "*/30 * * * * {$pathConsole} stats:devices".PHP_EOL);
 
         foreach($serverDevices as $server) {
 

+ 2 - 1
src/StatsBundle/Command/GenerateRemoteCrontabCommand.php

@@ -80,6 +80,7 @@ class GenerateRemoteCrontabCommand extends ContainerAwareCommand
         }
 
         $content .= "*/5 * * * * {$pathConsole} stats:crontab:remote >> /var/log/cron.log 2>&1" . PHP_EOL;
+        $content .= "*/20 * * * * {$pathConsole} stats:devices >> /var/log/cron.log 2>&1" . PHP_EOL;
 
         foreach ($serverDevices as $server) {
 
@@ -290,7 +291,7 @@ class GenerateRemoteCrontabCommand extends ContainerAwareCommand
         file_put_contents($fileCrontab, $content);
         sleep(5);
         print_r(shell_exec("/usr/bin/crontab /etc/cron.d/fd3_stats"));
-        print_r(shell_exec("/usr/local/bin/supervisorctl -uiksop -pqueRini6 restart cron"));
+        //print_r(shell_exec("/usr/local/bin/supervisorctl -uiksop -pqueRini6 restart cron"));
     }
 
 }

+ 3 - 1
src/StatsBundle/Services/DeviceManager.php

@@ -61,6 +61,7 @@ class DeviceManager
 
         $dateTime = new \DateTime("now");
         $date = $dateTime->format("Y-m-d H:i:s");
+        $count = 0;
 
         foreach ($deviceServers as $deviceServer) {
             $baseRoutes = json_decode($this->webservice->makeGetRequest($deviceServer->getUrl()), true);
@@ -108,6 +109,7 @@ class DeviceManager
                         $row = "(NULL, {$deviceServerId}, '{$deviceIp}','{$deviceType}', {$deviceId}, '{$deviceExtraData}', {$tenancyId}, '{$date}')";
 
                         $devices_values[] = $row;
+                        $count++;
                     }
 
                     $conn = $em->getConnection();
@@ -121,7 +123,7 @@ class DeviceManager
             }
         }
 
-        return;
+        return $count;
     }
 
     /*