#!/bin/bash # 轮询任务管理API测试脚本 API_BASE="http://localhost:8080/api" echo "🔄 轮询任务管理API测试开始" echo "========================" # 测试获取任务列表 echo "1. 获取轮询任务列表:" curl -s "$API_BASE/tasks" | jq '.' || echo "JSON解析失败" echo -e "\n" # 测试获取实时任务状态 echo "2. 获取实时任务状态:" curl -s "$API_BASE/tasks/status" | jq '.' || echo "JSON解析失败" echo -e "\n" # 测试获取调度器状态 echo "3. 获取调度器状态:" curl -s "$API_BASE/scheduler/status" | jq '.' || echo "JSON解析失败" echo -e "\n" # 测试获取当前周期状态 echo "4. 获取当前周期状态:" curl -s "$API_BASE/scheduler/cycle" | jq '.' || echo "JSON解析失败" echo -e "\n" # 检查调度器是否在运行 SCHEDULER_RUNNING=$(curl -s "$API_BASE/scheduler/status" | jq -r '.is_running' 2>/dev/null) if [ "$SCHEDULER_RUNNING" = "true" ]; then echo "5. 调度器正在运行,测试停止调度器:" curl -s -X POST "$API_BASE/scheduler/stop" | jq '.' || echo "JSON解析失败" echo -e "\n" # 等待一秒后再次检查状态 sleep 1 echo "6. 验证调度器停止状态:" curl -s "$API_BASE/scheduler/status" | jq '.' || echo "JSON解析失败" echo -e "\n" else echo "5. 调度器未在运行,测试启动调度器:" curl -s -X POST "$API_BASE/scheduler/start" | jq '.' || echo "JSON解析失败" echo -e "\n" # 等待一秒后再次检查状态 sleep 1 echo "6. 验证调度器启动状态:" curl -s "$API_BASE/scheduler/status" | jq '.' || echo "JSON解析失败" echo -e "\n" fi # 实时监控演示(可选) echo "7. 实时监控演示(5秒):" for i in {1..5}; do echo " -> 第 $i 秒状态:" curl -s "$API_BASE/tasks/status" | jq '.scheduler_running, .completed_tasks, .total_tasks' || echo " 获取状态失败" sleep 1 done echo -e "\n" echo "========================" echo "🎉 轮询任务管理API测试完成"