From 2cb864940cefa0548cf998faa1c8f2e19d58af39 Mon Sep 17 00:00:00 2001 From: yumoqing Date: Tue, 18 Aug 2026 17:15:22 +0800 Subject: [PATCH] =?UTF-8?q?feat(worker):=20start.sh=20=E6=94=AF=E6=8C=81?= =?UTF-8?q?=20web/worker/all=20=E4=B8=89=E7=A7=8D=E8=BF=90=E8=A1=8C?= =?UTF-8?q?=E6=A8=A1=E5=BC=8F=EF=BC=8C=E5=A4=9A=20pid=20=E6=96=87=E4=BB=B6?= =?UTF-8?q?=20+=20=E6=9D=A1=E4=BB=B6=E5=8A=A0=E8=BD=BD=20.smssend?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- start.sh | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/start.sh b/start.sh index 4eda0f2..db74f0c 100755 --- a/start.sh +++ b/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)"