test_task_api.sh 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. #!/bin/bash
  2. # 轮询任务管理API测试脚本
  3. API_BASE="http://localhost:8080/api"
  4. echo "🔄 轮询任务管理API测试开始"
  5. echo "========================"
  6. # 测试获取任务列表
  7. echo "1. 获取轮询任务列表:"
  8. curl -s "$API_BASE/tasks" | jq '.' || echo "JSON解析失败"
  9. echo -e "\n"
  10. # 测试获取实时任务状态
  11. echo "2. 获取实时任务状态:"
  12. curl -s "$API_BASE/tasks/status" | jq '.' || echo "JSON解析失败"
  13. echo -e "\n"
  14. # 测试获取调度器状态
  15. echo "3. 获取调度器状态:"
  16. curl -s "$API_BASE/scheduler/status" | jq '.' || echo "JSON解析失败"
  17. echo -e "\n"
  18. # 测试获取当前周期状态
  19. echo "4. 获取当前周期状态:"
  20. curl -s "$API_BASE/scheduler/cycle" | jq '.' || echo "JSON解析失败"
  21. echo -e "\n"
  22. # 检查调度器是否在运行
  23. SCHEDULER_RUNNING=$(curl -s "$API_BASE/scheduler/status" | jq -r '.is_running' 2>/dev/null)
  24. if [ "$SCHEDULER_RUNNING" = "true" ]; then
  25. echo "5. 调度器正在运行,测试停止调度器:"
  26. curl -s -X POST "$API_BASE/scheduler/stop" | jq '.' || echo "JSON解析失败"
  27. echo -e "\n"
  28. # 等待一秒后再次检查状态
  29. sleep 1
  30. echo "6. 验证调度器停止状态:"
  31. curl -s "$API_BASE/scheduler/status" | jq '.' || echo "JSON解析失败"
  32. echo -e "\n"
  33. else
  34. echo "5. 调度器未在运行,测试启动调度器:"
  35. curl -s -X POST "$API_BASE/scheduler/start" | jq '.' || echo "JSON解析失败"
  36. echo -e "\n"
  37. # 等待一秒后再次检查状态
  38. sleep 1
  39. echo "6. 验证调度器启动状态:"
  40. curl -s "$API_BASE/scheduler/status" | jq '.' || echo "JSON解析失败"
  41. echo -e "\n"
  42. fi
  43. # 实时监控演示(可选)
  44. echo "7. 实时监控演示(5秒):"
  45. for i in {1..5}; do
  46. echo " -> 第 $i 秒状态:"
  47. curl -s "$API_BASE/tasks/status" | jq '.scheduler_running, .completed_tasks, .total_tasks' || echo " 获取状态失败"
  48. sleep 1
  49. done
  50. echo -e "\n"
  51. echo "========================"
  52. echo "🎉 轮询任务管理API测试完成"