79 lines
2.2 KiB
Bash
79 lines
2.2 KiB
Bash
#!/bin/bash
|
||
|
||
# 农业股票数据处理器 - 定时调度器启动脚本
|
||
# 每30分钟自动执行一次数据处理任务
|
||
|
||
echo "==================================="
|
||
echo "农业股票数据处理器 - 定时调度器模式"
|
||
echo "==================================="
|
||
echo "该模式将每30分钟自动执行一次数据处理"
|
||
echo "启动中..."
|
||
echo ""
|
||
|
||
# 设置Java环境变量(如果需要)
|
||
# export JAVA_HOME=/path/to/java
|
||
|
||
# 设置Spark环境变量(如果需要)
|
||
# export SPARK_HOME=/path/to/spark
|
||
|
||
# 获取当前脚本所在目录
|
||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||
|
||
# 进入项目目录
|
||
cd "$SCRIPT_DIR"
|
||
|
||
# 检查target目录是否存在编译后的jar文件
|
||
JAR_FILE="target/spark-data-processor-1.0.0.jar"
|
||
|
||
if [ ! -f "$JAR_FILE" ]; then
|
||
echo "未找到编译后的jar文件,正在编译项目..."
|
||
|
||
# 检查是否有maven
|
||
if ! command -v mvn &> /dev/null; then
|
||
echo "错误: 未找到Maven命令,请确保Maven已安装并配置到PATH中"
|
||
exit 1
|
||
fi
|
||
|
||
# 编译项目
|
||
echo "执行: mvn clean package -DskipTests"
|
||
mvn clean package -DskipTests
|
||
|
||
if [ $? -ne 0 ]; then
|
||
echo "项目编译失败,请检查错误信息"
|
||
exit 1
|
||
fi
|
||
fi
|
||
|
||
# 检查配置文件
|
||
CONFIG_FILE="src/main/resources/application-prod.conf"
|
||
if [ ! -f "$CONFIG_FILE" ]; then
|
||
echo "警告: 未找到生产环境配置文件 $CONFIG_FILE"
|
||
echo "将使用开发环境配置"
|
||
CONFIG_FILE="src/main/resources/application-dev.conf"
|
||
fi
|
||
|
||
# 设置JVM参数
|
||
JVM_OPTS="-Xmx4g -Xms2g -XX:+UseG1GC -XX:+PrintGCDetails -XX:+PrintGCTimeStamps"
|
||
|
||
# 设置日志配置
|
||
LOG_CONFIG="-Dlogback.configurationFile=src/main/resources/logback.xml"
|
||
|
||
# 启动应用
|
||
echo "启动定时调度器..."
|
||
echo "配置文件: $CONFIG_FILE"
|
||
echo "JVM参数: $JVM_OPTS"
|
||
echo ""
|
||
echo "使用以下命令与调度器交互:"
|
||
echo " status - 查看调度器状态"
|
||
echo " trigger - 手动触发一次任务"
|
||
echo " stop - 停止调度器"
|
||
echo " help - 显示帮助信息"
|
||
echo ""
|
||
|
||
# 执行Java程序
|
||
java $JVM_OPTS $LOG_CONFIG \
|
||
-Dconfig.file="$CONFIG_FILE" \
|
||
-jar "$JAR_FILE" scheduler
|
||
|
||
echo ""
|
||
echo "定时调度器已停止" |