service === null) { $this->service = service('collectorservice'); } $this->addActionPaths($this::PATH); } protected function createDTO(array $formDatas): CollectorDTO { return new CollectorDTO($formDatas); } public function execute(): void { try { $trafficService = service('trafficservice'); foreach ($trafficService->getEntities(['status' => STATUS['AVAILABLE']]) as $trafficEntity) { $data = $this->service->getCalculatedData($trafficEntity); // Collector DB에 결과 저장 $entity = $this->service->create($this->createDTO($data)); log_message('info', "트래픽 계산 및 저장 완료 (UID: {$trafficEntity->getPK()}), In: {$entity->getIn()} Kb/s / Out: {$entity->getOut()} Kb/s"); } } catch (ValidationException $e) { $message = implode("\n", service('validation')->getErrors()); log_message("error", "트래픽 계산 및 저장 검증오류:" . $message); } catch (\Exception $e) { log_message('error', "트래픽 계산 및 저장 실패:{$e->getMessage()}"); } } }