<?php
// ============================================================
// 환경기 : webbot_news_env.php
// 루프 밖 단발 실행 - URL 배열 구성해서 타격기에 던지기
// ============================================================
function get_db_connection() {
try {
$db_upbit = null;
@include '/home/www/DB/db_upbit.php';
if (!($db_upbit instanceof PDO)) return null;
$pdo = $db_upbit;
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
return $pdo;
} catch (Throwable $e) {
return null;
}
}
function get_gnu_connection() {
try {
$db_gnu = null;
$pdo_gnu = null;
$pdo = null;
@include '/home/www/DB/db_gnu.php';
if ($db_gnu instanceof PDO) {
$db_gnu->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
return $db_gnu;
}
if ($pdo_gnu instanceof PDO) {
$pdo_gnu->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
return $pdo_gnu;
}
if ($pdo instanceof PDO) {
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
return $pdo;
}
return null;
} catch (Throwable $e) {
return null;
}
}
// DB 연결
$pdo = get_db_connection();
$pdo_gnu = get_gnu_connection();
// 그누보드에서 활성 소스 읽기 (단발)
$stmt = $pdo_gnu->prepare("
SELECT wr_subject, wr_link1, x2_korean_name, ca_name,
x2_parsing, x2_parsing_code, x2_ca2, x2_ca3
FROM g5_write_webbot_news
WHERE (x2_run = 1 OR x2_run = '1')
");
$stmt->execute();
$news_sources = $stmt->fetchAll(PDO::FETCH_ASSOC);
// → $pdo, $pdo_gnu, $news_sources 타격기에서 사용