connect('redis', 6379); $redis->select(9); CLI::write(CLI::color('🟢 Naver Worker running...', 'green')); } catch (\Exception $e) { CLI::error("Redis 연결 불가: " . $e->getMessage()); return; } $naverService = new \App\Services\NaverService(); // 서비스 생성 while (true) { $result = $redis->brPop(['naver:raw_queue'], 30); if ($result) { try { $responseJson = json_decode($result[1], true); $payload = $responseJson['request_data'] ?? []; if (empty($payload)) { throw new \Exception("빈 페이로드 데이터"); } // 서비스의 함수 하나로 모든 처리 완료 $insertId = $naverService->processArticle($payload); CLI::write("✅ Success! DB ID: $insertId", 'cyan'); } catch (\Exception $e) { CLI::error("❌ Task Failed: " . $e->getMessage()); // 실패 로그는 여기서 남김 helper('log'); write_custom_log("FAILED_DATA | Error: " . $e->getMessage(), 'ERROR', 'failed'); } } } } }