service === null) { $this->service = service('collectorservice'); $fields = ['trafficinfo_uid', 'in', 'out', 'raw_in', 'raw_out']; $filters = ['trafficinfo_uid']; $this->service->getFormService()->setFormFields($fields); $this->service->getFormService()->setFormRules('create', $fields); $this->service->getFormService()->setFormFilters($filters); $this->service->getFormService()->setFormOptions($filters); $this->service->getFormService()->setBatchjobFilters($filters); } $this->addActionPaths(self::PATH); } public function execute(): void { try { log_message('info', "트래픽 수집 완료"); $trafficService = service('trafficservice'); $total = 1; $success = 0; $error = 0; foreach ($trafficService->getEntities(['status' => STATUS['AVAILABLE']]) as $trafficEntity) { try { $entity = $this->service->create(new CollectorDTO($this->service->getCalculatedData($trafficEntity))); $success++; $message = "{$trafficEntity->getServerIP()} 트래픽 수집데이터 저장 완료 In: {$entity->getIn()} Kb/s / Out: {$entity->getOut()} Kb/s"; log_message('info', $message); } catch (ValidationException $e) { $error++; log_message('error', "{$trafficEntity->getServerIP()} 트래픽 수집데이터 검증오류:{$e->getMessage()}"); } catch (\Exception $e) { $error++; log_message('error', "{$trafficEntity->getServerIP()} 트래픽 수집데이터 저장 실패:{$e->getMessage()}"); } $total++; } log_message('info', sprintf("트래픽 수집 성공:%s , 실패:%s 총:%s 작업완료", $success, $error, $total)); } catch (\Exception $e) { log_message('error', "트래픽 수집 작업오류:{$e->getMessage()}"); } } }