#!/bin/bash 2 3# 配置 4SERVICE_NAME="MyApp" 5URL="http://localhost:8080/health" 6MAX_RETRIES=2 7TIMEOUT=5 8LOG_FILE="/var/log/${SERVICE_NAME}_health.log" 9 10# 日志函数 11log() { 12 echo "$(date '+%Y-%m-%d %H:%M:%S') - $1" >> "$LOG_FILE" 13} 14 15# 健康检查函数 16check_service() { 17 if command -v curl >/dev/null; then 18 curl -sf --max-time "$TIMEOUT" "$URL" > /dev/null 2>&1 19 return $? 20 elif command -v wget >/dev/null; then 21 wget --quiet --timeout="$TIMEOUT" --spider "$URL" > /dev/null 2>&1 22 return $? 23 else 24 log "ERROR: Neither curl nor wget available!" 25 return 1 26 fi 27} 28 29# 主逻辑:带重试 30for ((i=0; i<=MAX_RETRIES; i++)); do 31 if check_service; then 32 log "SUCCESS: $SERVICE_NAME is healthy" 33 exit 0 34 else 35 if [ $i -lt $MAX_RETRIES ]; then 36 log "WARNING: $SERVICE_NAME check failed, retrying in 2s... (attempt $((i+1)))" 37 sleep 2 38 fi 39 fi 40done 41 42# 最终失败 43log "CRITICAL: $SERVICE_NAME is DOWN after $((MAX_RETRIES+1)) attempts" 44exit 1Shell 服务健康检查脚本
张小明
前端开发工程师
正则表达式从入门到精通:吃透底层逻辑,解决99%的实际问题
正则表达式(Regular Expression)是一种用于描述字符串模式的强大工具,广泛应用于字符串匹配、查找、替换、验证等场景。无论是Java开发中的数据校验、日志解析,还是SQL中的模糊查询,亦或是日常的文本处理,掌…
软件开发(AIGC版)课程教学解决方案
一、课程定位与培养目标(一)课程建设背景在数字化浪潮中,AIGC 技术已成为软件开发领域创新变革的核心驱动力。从智能代码生成到自动化测试,从智能交互设计到数据驱动的决策优化,AIGC 正全方位重塑软件开发流程…
用Mermaid轻松绘制专业图表:从入门到精通
在技术文档、项目报告和演示中,图表是传达复杂信息的利器。然而,传统的绘图工具往往学习成本高、协作困难。今天,我要介绍一个革命性的解决方案——Mermaid,一种基于文本的图表绘制语言,让你用简单的代码就能创建出专业…
【AI系统集成新突破】:Dify对接Spring AI的7大核心技巧与避坑指南
第一章:Dify 与 Spring AI 集成概述将 Dify 的强大 AI 工作流能力与 Spring AI 框架结合,能够显著提升 Java 应用中智能化功能的开发效率。这种集成方式允许开发者在熟悉的 Spring 生态中调用由 Dify 编排的 AI 流程,实现自然语言处理、智能推…
还在为背景噪音烦恼?,Dify 1.7.0智能降噪一键解决通话质量问题
第一章:Dify 1.7.0 的音频降噪处理Dify 1.7.0 引入了全新的音频预处理模块,重点增强了对用户上传语音的实时降噪能力。该功能基于深度学习模型 SpectralGate,并结合传统信号处理技术,在保持语音清晰度的同时有效抑制背景噪声。启用…
Dify测试用例编写难题,一文解决Agent工具适配痛点
第一章:Agent 工具的 Dify 测试用例在构建基于 Agent 的智能系统时,Dify 作为可视化编排平台,支持对各类工具进行集成与测试。为确保 Agent 调用工具的准确性与稳定性,编写有效的测试用例至关重要。测试过程不仅验证功能正确性&am…