feat(worker): start.sh 支持 web/worker/all 三种运行模式,多 pid 文件 + 条件加载 .smssend
This commit is contained in:
parent
f59e6f3c45
commit
2cb864940c
27
start.sh
27
start.sh
@ -3,17 +3,30 @@ set -e
|
||||
WORKDIR="$(cd "$(dirname "$0")" && pwd)"
|
||||
cd "$WORKDIR"
|
||||
|
||||
if [ -f pipeline.pid ]; then
|
||||
pid=$(cat pipeline.pid)
|
||||
# 加载本机敏感环境变量(如短信密钥),不存在则跳过(该文件不入库)
|
||||
[ -f .smssend ] && source .smssend
|
||||
|
||||
# 运行模式:all(默认,HTTP+poller) / web(仅HTTP,无poller) / worker(仅poller,分布式worker节点)
|
||||
MODE="${1:-all}"
|
||||
case "$MODE" in
|
||||
web) PORT=9090; PIDFILE="pipeline-web.pid"; PIPELINE_MODE=web ;;
|
||||
worker) PORT=9091; PIDFILE="pipeline-worker.pid"; PIPELINE_MODE=worker ;;
|
||||
all) PORT=9090; PIDFILE="pipeline.pid"; PIPELINE_MODE=all ;;
|
||||
*) echo "用法: $0 [web|worker|all]"; exit 1 ;;
|
||||
esac
|
||||
export PIPELINE_MODE
|
||||
|
||||
if [ -f "$PIDFILE" ]; then
|
||||
pid=$(cat "$PIDFILE")
|
||||
if kill -0 "$pid" 2>/dev/null; then
|
||||
echo "Already running (PID $pid)"
|
||||
exit 0
|
||||
fi
|
||||
rm -f pipeline.pid
|
||||
rm -f "$PIDFILE"
|
||||
fi
|
||||
|
||||
echo "Starting pipeline-app on port 9090..."
|
||||
echo "Starting pipeline-app ($MODE mode) on port $PORT..."
|
||||
export PATH="$WORKDIR/bin:$PATH"
|
||||
$WORKDIR/py3/bin/python $WORKDIR/app/pipeline_app.py -p 9090 -w $WORKDIR >> $WORKDIR/logs/pipeline.log 2>&1 &
|
||||
echo $! > pipeline.pid
|
||||
echo "Started PID $(cat pipeline.pid)"
|
||||
$WORKDIR/py3/bin/python $WORKDIR/app/pipeline_app.py -p $PORT -w $WORKDIR >> $WORKDIR/logs/pipeline.log 2>&1 &
|
||||
echo $! > "$PIDFILE"
|
||||
echo "Started PID $(cat $PIDFILE)"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user