service === null) { $this->service = service('collectorservice'); } $this->addActionPaths($this::PATH); } protected function createDTO(array $formDatas): CollectorDTO { return new CollectorDTO($formDatas); } public function execute(): void { $message = ""; 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)); $message = "트래픽 계산 및 저장 완료 (UID: {$trafficEntity->getPK()}), In: {$entity->getIn()} Kb/s / Out: {$entity->getOut()} Kb/s"; } } catch (ValidationException $e) { $message = "트래픽 계산 및 저장 검증오류:{$e->getMessage()}"; } catch (\Exception $e) { $message = "트래픽 계산 및 저장 실패오류:{$e->getMessage()}"; } echo $message . "\n"; log_message('info', $message); } }