#!/usr/bin/env python3 """ 测试定时爬取脚本配置 """ import sys import os # 添加项目路径 sys.path.insert(0, os.path.dirname(__file__)) try: from gx_gp_monitor.core.config_manager import load_config from gx_gp_monitor.core.logger import init_logger from gx_gp_monitor.storage.postgresql import init_storage def test_config(): """测试配置加载""" print("🔍 测试配置加载...") config = load_config() if not config: print("❌ 配置加载失败") return False print("✅ 配置加载成功") print(f" 关键词: {config.crawler.keyword}") print(f" 企业微信启用: {config.wechat_app.enabled}") print(f" 数据库启用: {config.database.enabled}") return True def test_logger(): """测试日志系统""" print("\n🔍 测试日志系统...") try: init_logger() print("✅ 日志系统初始化成功") return True except Exception as e: print(f"❌ 日志系统初始化失败: {e}") return False def test_database(): """测试数据库连接""" print("\n🔍 测试数据库连接...") try: init_storage() print("✅ 数据库连接成功") return True except Exception as e: print(f"❌ 数据库连接失败: {e}") return False def main(): """主测试函数""" print("🚀 开始测试定时爬取脚本配置\n") results = [] results.append(("配置加载", test_config())) results.append(("日志系统", test_logger())) results.append(("数据库连接", test_database())) print("\n" + "="*50) print("📊 测试结果:") all_passed = True for test_name, passed in results: status = "✅ 通过" if passed else "❌ 失败" print(f" {test_name}: {status}") if not passed: all_passed = False print("\n" + "="*50) if all_passed: print("🎉 所有测试通过!可以安全使用定时爬取脚本。") print("\n💡 使用方法:") print(" 直接运行: python cron_crawl.py") print(" 定时运行: 参考 CRON_README.md 或 cron_example.txt") else: print("⚠️ 部分测试失败,请检查配置后再使用脚本。") return all_passed if __name__ == "__main__": success = main() sys.exit(0 if success else 1) except ImportError as e: print(f"❌ 导入失败: {e}", file=sys.stderr) print("请确保已安装所有依赖: pip install -r gx_gp_monitor/requirements.txt", file=sys.stderr) sys.exit(1) except Exception as e: print(f"❌ 测试失败: {e}", file=sys.stderr) sys.exit(1)