test_background_tasks.py 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #!/usr/bin/env python3
  2. """
  3. 测试后台任务功能
  4. """
  5. import asyncio
  6. import sys
  7. import os
  8. # 添加项目路径
  9. sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
  10. from app.background_tasks import BackgroundTaskManager
  11. async def test_background_tasks():
  12. """测试后台任务管理器"""
  13. print("🔄 开始测试后台任务管理器...")
  14. manager = BackgroundTaskManager()
  15. # 测试启动任务
  16. print("🚀 启动后台任务...")
  17. await manager.start_all_tasks()
  18. # 等待几秒让任务运行
  19. print("⏳ 等待任务运行 3 秒...")
  20. await asyncio.sleep(3)
  21. # 检查任务状态
  22. print(f"📊 当前任务数量: {len(manager.tasks)}")
  23. print(f"📊 运行状态: {manager.running}")
  24. for i, task in enumerate(manager.tasks):
  25. status = "✅ 运行中" if not task.done() else "❌ 已完成"
  26. print(f" 任务 {i+1}: {status}")
  27. # 测试停止任务
  28. print("🛑 停止后台任务...")
  29. await manager.stop_all_tasks()
  30. print("✅ 后台任务测试完成!")
  31. if __name__ == "__main__":
  32. asyncio.run(test_background_tasks())