123 lines
3.5 KiB
Bash
Executable File
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!"
|