import asyncio
# [修正] yokohama_router.pyからRakutenScraperをインポートします
from yokohama_router import RakutenScraper
from config import logger
# [追加] DB 연결 관리를 위해 database_yokohama 객체를 import 합니다.
from db import database_yokohama

async def run_scraping():
    """
    スクレイピングタスクを実行するメイン関数
    """
    logger.info("Starting scheduled scraping task via Cron...")
    try:
        # [追加] 작업을 시작하기 전에 데이터베이스에 연결합니다.
        await database_yokohama.connect()

        scraper = RakutenScraper()
        result = await scraper.scrape()
        logger.info(f"Scheduled scraping finished. Processed {len(result)} items.")
    except Exception as e:
        logger.error(f"An error occurred during scheduled scraping: {e}")
    finally:
        # [追加] 작업이 성공하든 실패하든 항상 데이터베이스 연결을 해제합니다.
        if database_yokohama.is_connected:
            await database_yokohama.disconnect()
            logger.info("Database connection closed.")

if __name__ == "__main__":
    # このスクリプトを直接実行するとrun_scraping関数が実行されます
    asyncio.run(run_scraping())
