Files
pipelinedb/examples/run_all.sh
2025-09-30 15:05:56 +08:00

123 lines
3.5 KiB
Bash
Executable File

#!/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!"