#!/usr/bin/env python
"""
测试调度器模式 - 验证自动调度是否已禁用
"""

import asyncio
import sys
from pathlib import Path

# 添加项目路径
sys.path.insert(0, str(Path(__file__).parent / "backend"))

from app.core.config import settings
from app.workers.scheduler import OrderScheduler


async def test_scheduler_mode():
    """测试调度器模式"""
    
    print("=" * 60)
    print("调度器模式测试")
    print("=" * 60)
    
    # 显示配置
    print(f"\n当前配置:")
    print(f"  AUTO_SCHEDULE_ENABLED: {settings.AUTO_SCHEDULE_ENABLED}")
    print(f"  IMPORT_INTERVAL_MINUTES: {settings.IMPORT_INTERVAL_MINUTES}")
    
    # 创建调度器
    scheduler = OrderScheduler()
    
    # 启动调度器
    print(f"\n启动调度器...")
    await scheduler.start()
    
    # 获取任务信息
    job_info = scheduler.get_job_info()
    
    print(f"\n调度器状态: {job_info['status']}")
    print(f"定时任务数量: {len(job_info['jobs'])}")
    
    if job_info['jobs']:
        print("\n已注册的定时任务:")
        for job in job_info['jobs']:
            print(f"  - ID: {job['id']}")
            print(f"    名称: {job['name']}")
            print(f"    触发器: {job['trigger']}")
            print(f"    下次运行: {job['next_run']}")
    else:
        print("\n✓ 没有定时任务 - 调度器在手动模式下运行")
    
    # 测试手动触发
    print(f"\n测试手动触发功能...")
    can_trigger = hasattr(scheduler, 'trigger_import_now')
    print(f"  手动触发可用: {'✓ 是' if can_trigger else '✗ 否'}")
    
    # 停止调度器
    await scheduler.stop()
    print(f"\n调度器已停止")
    
    print("\n" + "=" * 60)
    print("测试完成!")
    print("=" * 60)


if __name__ == "__main__":
    asyncio.run(test_scheduler_mode())