#!/bin/bash # Pipeline Database V4 - 运行所有示例脚本 echo "🚀 Pipeline Database V4 - 运行所有示例" echo "========================================" # 示例列表 examples=( "basic-usage:基础使用示例:演示数据库的基本操作" "group-management:组管理示例:演示多组数据管理功能" "external-handler:外部处理器示例:演示自定义数据处理流程" "data-analytics:数据分析示例:演示复杂数据分析功能" "concurrent-processing:并发处理示例:演示高并发数据处理" ) echo "📋 将要运行 ${#examples[@]} 个示例" echo "" # 询问用户是否继续 read -p "是否继续运行所有示例? (y/N): " -n 1 -r echo if [[ ! $REPLY =~ ^[Yy]$ ]]; then echo "❌ 已取消运行" exit 0 fi success_count=0 fail_count=0 total_start=$(date +%s) for i in "${!examples[@]}"; do IFS=':' read -r dir name desc <<< "${examples[$i]}" echo "" echo "============================================================" echo "📍 示例 $((i+1))/${#examples[@]}: $name" echo "📁 目录: $dir" echo "📝 描述: $desc" echo "============================================================" if [ ! -d "$dir" ]; then echo "❌ 目录不存在: $dir" ((fail_count++)) continue fi if [ ! -f "$dir/main.go" ]; then echo "❌ 文件不存在: $dir/main.go" ((fail_count++)) continue fi echo "🚀 开始运行..." echo "" start_time=$(date +%s) # 运行示例 if (cd "$dir" && go run main.go); then end_time=$(date +%s) duration=$((end_time - start_time)) echo "" echo "✅ 示例运行成功!" echo "⏱️ 运行时间: ${duration}秒" ((success_count++)) else end_time=$(date +%s) duration=$((end_time - start_time)) echo "" echo "❌ 示例运行失败!" echo "⏱️ 运行时间: ${duration}秒" ((fail_count++)) fi # 如果不是最后一个示例,等待一下 if [ $((i+1)) -lt ${#examples[@]} ]; then echo "" echo "⏳ 等待 2 秒后运行下一个示例..." sleep 2 fi done # 总结 total_end=$(date +%s) total_duration=$((total_end - total_start)) echo "" echo "============================================================" echo "🎯 运行总结" echo "============================================================" echo "✅ 成功: $success_count 个示例" echo "❌ 失败: $fail_count 个示例" echo "📊 成功率: $(echo "scale=1; $success_count * 100 / ${#examples[@]}" | bc -l)%" echo "⏱️ 总运行时间: ${total_duration}秒" if [ $fail_count -eq 0 ]; then echo "" echo "🎉 所有示例都运行成功!" echo "💡 你现在已经了解了 Pipeline Database V4 的主要功能" echo "📚 建议接下来:" echo " 1. 查看示例源代码,理解实现细节" echo " 2. 根据你的需求修改示例" echo " 3. 在你的项目中集成 Pipeline Database" else echo "" echo "⚠️ 有 $fail_count 个示例运行失败" echo "🔧 建议检查:" echo " 1. Go 版本是否兼容 (需要 1.19+)" echo " 2. 依赖包是否正确安装" echo " 3. 文件权限是否正确" echo " 4. 系统资源是否充足" fi echo "" echo "📞 需要帮助?" echo " - 查看 README.md 了解详细信息" echo " - 检查项目文档和 API 参考" echo " - 在项目仓库提交 Issue" echo "" echo "🙏 感谢使用 Pipeline Database V4!"