Merge branch 'master' into wip/qa7920-rag-stream
This commit is contained in:
+79
@@ -0,0 +1,79 @@
|
||||
#!/bin/bash
|
||||
# 重启bbav20311服务并加载新提示词
|
||||
|
||||
echo "=============================================="
|
||||
echo "重启BBAV20311服务 - 加载新提示词"
|
||||
echo "=============================================="
|
||||
echo ""
|
||||
|
||||
# 1. 查找并停止现有服务
|
||||
echo "1. 停止现有服务..."
|
||||
MAIN_PID=$(ps aux | grep "python3 main.py" | grep -v grep | grep -v restart | awk '{print $2}' | head -1)
|
||||
|
||||
if [ -n "$MAIN_PID" ]; then
|
||||
echo " 找到主服务PID: $MAIN_PID"
|
||||
kill -15 $MAIN_PID 2>/dev/null
|
||||
sleep 2
|
||||
echo " 已发送停止信号"
|
||||
else
|
||||
echo " 未找到运行中的主服务"
|
||||
fi
|
||||
|
||||
# 2. 激活conda环境
|
||||
echo ""
|
||||
echo "2. 激活conda环境..."
|
||||
source ~/anaconda3/etc/profile.d/conda.sh
|
||||
conda activate test4py311
|
||||
echo " 环境: $(conda info --envs | grep '*')"
|
||||
|
||||
# 3. 验证提示词文件
|
||||
echo ""
|
||||
echo "3. 验证提示词文件..."
|
||||
PROMPT_COUNT=$(ls /home/xia-lab/wutx/00test/bbav20311/prompts/*_agent.md 2>/dev/null | wc -l)
|
||||
echo " 提示词文件数量: $PROMPT_COUNT"
|
||||
|
||||
if [ "$PROMPT_COUNT" -eq 8 ]; then
|
||||
echo " ✅ 所有提示词文件存在"
|
||||
else
|
||||
echo " ⚠️ 提示词文件数量不匹配"
|
||||
fi
|
||||
|
||||
# 4. 启动服务
|
||||
echo ""
|
||||
echo "4. 启动服务..."
|
||||
cd /home/xia-lab/wutx/00test/bbav20311
|
||||
nohup python3 main.py > /tmp/bbav20311_restart.log 2>&1 &
|
||||
NEW_PID=$!
|
||||
echo " 新PID: $NEW_PID"
|
||||
|
||||
# 5. 等待服务启动
|
||||
echo ""
|
||||
echo "5. 等待服务启动..."
|
||||
sleep 5
|
||||
|
||||
# 6. 验证服务
|
||||
echo ""
|
||||
echo "6. 验证服务..."
|
||||
if ps -p $NEW_PID > /dev/null; then
|
||||
echo " ✅ 服务进程运行中"
|
||||
|
||||
# 测试API
|
||||
HTTP_STATUS=$(curl -s -o /dev/null -w "%{http_code}" http://localhost:7865/api/info 2>/dev/null)
|
||||
if [ "$HTTP_STATUS" = "200" ]; then
|
||||
echo " ✅ API响应正常 (HTTP 200)"
|
||||
else
|
||||
echo " ⚠️ API响应异常 (HTTP $HTTP_STATUS)"
|
||||
fi
|
||||
else
|
||||
echo " ❌ 服务启动失败"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "=============================================="
|
||||
echo "重启完成"
|
||||
echo "=============================================="
|
||||
echo "PID: $NEW_PID"
|
||||
echo "日志: /tmp/bbav20311_restart.log"
|
||||
echo "提示词: /home/xia-lab/wutx/00test/bbav20311/prompts/"
|
||||
echo "=============================================="
|
||||
Executable
+22
@@ -0,0 +1,22 @@
|
||||
#!/bin/bash
|
||||
# WebUI for bbav5 project
|
||||
# Port: 8788, State: ~/.hermes/webui-bbav5
|
||||
|
||||
export HERMES_WEBUI_PORT=8788
|
||||
export HERMES_WEBUI_STATE_DIR="$HOME/.hermes/webui-bbav5"
|
||||
export HERMES_WEBUI_DEFAULT_WORKSPACE="/home/xia-lab/wutx/00test/bbav5"
|
||||
export HERMES_WEBUI_AGENT_DIR="/home/xia-lab/wutx/01model/hermes-agent"
|
||||
|
||||
# Create state dir if not exists
|
||||
mkdir -p "$HERMES_WEBUI_STATE_DIR"
|
||||
|
||||
cd /home/xia-lab/wutx/01model/hermes-webui
|
||||
|
||||
echo "Starting WebUI for bbav5..."
|
||||
echo " Port: $HERMES_WEBUI_PORT"
|
||||
echo " Workspace: $HERMES_WEBUI_DEFAULT_WORKSPACE"
|
||||
echo " State: $HERMES_WEBUI_STATE_DIR"
|
||||
echo " URL: http://127.0.0.1:8788"
|
||||
|
||||
source /home/xia-lab/wutx/01model/hermes-agent/venv/bin/activate
|
||||
python server.py
|
||||
Executable
+14
@@ -0,0 +1,14 @@
|
||||
#!/bin/bash
|
||||
# 启动Celery Worker
|
||||
|
||||
cd /home/xia-lab/wutx/00test/bbav5
|
||||
|
||||
# 使用conda环境的Python和Celery
|
||||
CONDA_ENV="/home/xia-lab/miniconda3/envs/test4py311"
|
||||
export PATH="$CONDA_ENV/bin:$PATH"
|
||||
|
||||
echo "Starting Celery Worker with conda environment: test4py311"
|
||||
"$CONDA_ENV/bin/celery" -A celery_app worker --loglevel=info --concurrency=2 &
|
||||
|
||||
echo "Celery Worker started!"
|
||||
echo "To monitor tasks, run: $CONDA_ENV/bin/celery -A celery_app flower --port=5555"
|
||||
Executable
+93
@@ -0,0 +1,93 @@
|
||||
#!/bin/bash
|
||||
# Start resource-specific Celery workers for the PlantAI-dev project.
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
EXTERNAL_BBAV5_QUEUE_PREFIX="${BBAV5_QUEUE_PREFIX-}"
|
||||
EXTERNAL_BBAV5_REDIS_URL="${BBAV5_REDIS_URL-}"
|
||||
EXTERNAL_BBAV5_CELERY_LOG_DIR="${BBAV5_CELERY_LOG_DIR-}"
|
||||
EXTERNAL_BBAV5_WORKER_NAME_PREFIX="${BBAV5_WORKER_NAME_PREFIX-}"
|
||||
if [ -f "$SCRIPT_DIR/.env" ]; then
|
||||
set -a
|
||||
. "$SCRIPT_DIR/.env"
|
||||
set +a
|
||||
fi
|
||||
if [ -n "$EXTERNAL_BBAV5_QUEUE_PREFIX" ]; then
|
||||
BBAV5_QUEUE_PREFIX="$EXTERNAL_BBAV5_QUEUE_PREFIX"
|
||||
fi
|
||||
if [ -n "$EXTERNAL_BBAV5_REDIS_URL" ]; then
|
||||
BBAV5_REDIS_URL="$EXTERNAL_BBAV5_REDIS_URL"
|
||||
fi
|
||||
if [ -n "$EXTERNAL_BBAV5_CELERY_LOG_DIR" ]; then
|
||||
BBAV5_CELERY_LOG_DIR="$EXTERNAL_BBAV5_CELERY_LOG_DIR"
|
||||
fi
|
||||
if [ -n "$EXTERNAL_BBAV5_WORKER_NAME_PREFIX" ]; then
|
||||
BBAV5_WORKER_NAME_PREFIX="$EXTERNAL_BBAV5_WORKER_NAME_PREFIX"
|
||||
fi
|
||||
|
||||
PROJECT_ROOT="${BBAV5_PROJECT_ROOT:-$SCRIPT_DIR}"
|
||||
cd "$PROJECT_ROOT"
|
||||
|
||||
CONDA_BASE="${BBAV5_CONDA_BASE:-/home/xia-lab/miniconda3}"
|
||||
DEFAULT_ENV="${BBAV5_DEFAULT_ENV:-test4py311}"
|
||||
CONDA_ENV="$CONDA_BASE/envs/$DEFAULT_ENV"
|
||||
export PATH="$CONDA_ENV/bin:$PATH"
|
||||
export BBAV5_QUEUE_PREFIX="${BBAV5_QUEUE_PREFIX:-plantai_dev_7880}"
|
||||
export BBAV5_REDIS_URL="${BBAV5_REDIS_URL:-redis://localhost:6379/9}"
|
||||
WORKER_NAME_PREFIX="${BBAV5_WORKER_NAME_PREFIX:-${BBAV5_QUEUE_PREFIX//[^A-Za-z0-9_]/_}}"
|
||||
|
||||
LOG_DIR="${BBAV5_CELERY_LOG_DIR:-logs/celery_plantai_dev_7880}"
|
||||
mkdir -p "$LOG_DIR"
|
||||
|
||||
CELERY="$CONDA_ENV/bin/celery"
|
||||
APP="celery_app"
|
||||
LOGLEVEL="${BBAV5_CELERY_LOGLEVEL:-info}"
|
||||
HOSTNAME_VALUE="$(hostname)"
|
||||
|
||||
DEFAULT_CONCURRENCY="${BBAV5_DEFAULT_CONCURRENCY:-1}"
|
||||
HEAVY_CONCURRENCY="${BBAV5_HEAVY_CONCURRENCY:-2}"
|
||||
MEDIUM_CONCURRENCY="${BBAV5_MEDIUM_CONCURRENCY:-2}"
|
||||
LIGHT_CONCURRENCY="${BBAV5_LIGHT_CONCURRENCY:-4}"
|
||||
RNASEQ_CONCURRENCY="${BBAV5_RNASEQ_CONCURRENCY:-2}"
|
||||
|
||||
worker_online() {
|
||||
local name="$1"
|
||||
if [ "${BBAV5_CELERY_FORCE_START:-0}" = "1" ]; then
|
||||
return 1
|
||||
fi
|
||||
pgrep -f -- "--hostname=${name}@%h" >/dev/null 2>&1
|
||||
}
|
||||
|
||||
start_worker() {
|
||||
local name="$1"
|
||||
local queue="$2"
|
||||
local concurrency="$3"
|
||||
if [ "$concurrency" -le 0 ]; then
|
||||
echo "Skipping ${name}: concurrency=${concurrency}"
|
||||
return
|
||||
fi
|
||||
if worker_online "$name"; then
|
||||
echo "Skipping ${name}: worker process already exists (${name}@%h)"
|
||||
return
|
||||
fi
|
||||
echo "Starting ${name}: queue=${queue}, concurrency=${concurrency}"
|
||||
"$CELERY" -A "$APP" worker \
|
||||
--detach \
|
||||
--loglevel="$LOGLEVEL" \
|
||||
--hostname="${name}@%h" \
|
||||
--queues="$queue" \
|
||||
--concurrency="$concurrency" \
|
||||
--prefetch-multiplier=1 \
|
||||
--logfile="$LOG_DIR/${name}.log" \
|
||||
--pidfile="$LOG_DIR/${name}.pid"
|
||||
}
|
||||
|
||||
start_worker "${WORKER_NAME_PREFIX}_default" "${BBAV5_QUEUE_PREFIX}.default" "$DEFAULT_CONCURRENCY"
|
||||
start_worker "${WORKER_NAME_PREFIX}_heavy" "${BBAV5_QUEUE_PREFIX}.heavy" "$HEAVY_CONCURRENCY"
|
||||
start_worker "${WORKER_NAME_PREFIX}_medium" "${BBAV5_QUEUE_PREFIX}.medium" "$MEDIUM_CONCURRENCY"
|
||||
start_worker "${WORKER_NAME_PREFIX}_light" "${BBAV5_QUEUE_PREFIX}.light" "$LIGHT_CONCURRENCY"
|
||||
start_worker "${WORKER_NAME_PREFIX}_rnaseq" "${BBAV5_QUEUE_PREFIX}.rnaseq" "$RNASEQ_CONCURRENCY"
|
||||
|
||||
echo "Celery workers started with queue prefix: ${BBAV5_QUEUE_PREFIX}"
|
||||
echo "Logs: ${LOG_DIR}"
|
||||
+73
@@ -0,0 +1,73 @@
|
||||
#!/bin/bash
|
||||
# Start PlantAI-dev Celery workers for the port-9000 runtime profile.
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
cd "${BBAV5_PROJECT_ROOT:-$SCRIPT_DIR}"
|
||||
|
||||
CONDA_BASE="${BBAV5_CONDA_BASE:-/home/xia-lab/miniconda3}"
|
||||
DEFAULT_ENV="${BBAV5_DEFAULT_ENV:-test4py311}"
|
||||
CONDA_ENV="$CONDA_BASE/envs/$DEFAULT_ENV"
|
||||
export PATH="$CONDA_ENV/bin:$PATH"
|
||||
|
||||
export BBAV5_PROJECT_ROOT="${BBAV5_PROJECT_ROOT:-$SCRIPT_DIR}"
|
||||
export PLANTAI_PROJECT_ROOT="${PLANTAI_PROJECT_ROOT:-$SCRIPT_DIR}"
|
||||
export BBAV5_QUEUE_PREFIX="${BBAV5_QUEUE_PREFIX:-plantai_dev_9000}"
|
||||
export BBAV5_REDIS_URL="${BBAV5_REDIS_URL:-redis://localhost:6379/10}"
|
||||
|
||||
WORKER_NAME_PREFIX="${BBAV5_WORKER_NAME_PREFIX:-${BBAV5_QUEUE_PREFIX//[^A-Za-z0-9_]/_}}"
|
||||
LOG_DIR="${BBAV5_CELERY_LOG_DIR:-logs/celery_plantai_dev_9000}"
|
||||
mkdir -p "$LOG_DIR"
|
||||
|
||||
CELERY="$CONDA_ENV/bin/celery"
|
||||
APP="celery_app"
|
||||
LOGLEVEL="${BBAV5_CELERY_LOGLEVEL:-info}"
|
||||
|
||||
DEFAULT_CONCURRENCY="${BBAV5_DEFAULT_CONCURRENCY:-1}"
|
||||
HEAVY_CONCURRENCY="${BBAV5_HEAVY_CONCURRENCY:-2}"
|
||||
MEDIUM_CONCURRENCY="${BBAV5_MEDIUM_CONCURRENCY:-2}"
|
||||
LIGHT_CONCURRENCY="${BBAV5_LIGHT_CONCURRENCY:-4}"
|
||||
RNASEQ_CONCURRENCY="${BBAV5_RNASEQ_CONCURRENCY:-2}"
|
||||
|
||||
worker_online() {
|
||||
local name="$1"
|
||||
if [ "${BBAV5_CELERY_FORCE_START:-0}" = "1" ]; then
|
||||
return 1
|
||||
fi
|
||||
pgrep -f -- "--hostname=${name}@%h" >/dev/null 2>&1
|
||||
}
|
||||
|
||||
start_worker() {
|
||||
local name="$1"
|
||||
local queue="$2"
|
||||
local concurrency="$3"
|
||||
if [ "$concurrency" -le 0 ]; then
|
||||
echo "Skipping ${name}: concurrency=${concurrency}"
|
||||
return
|
||||
fi
|
||||
if worker_online "$name"; then
|
||||
echo "Skipping ${name}: worker process already exists (${name}@%h)"
|
||||
return
|
||||
fi
|
||||
echo "Starting ${name}: queue=${queue}, concurrency=${concurrency}"
|
||||
"$CELERY" -A "$APP" worker \
|
||||
--detach \
|
||||
--loglevel="$LOGLEVEL" \
|
||||
--hostname="${name}@%h" \
|
||||
--queues="$queue" \
|
||||
--concurrency="$concurrency" \
|
||||
--prefetch-multiplier=1 \
|
||||
--logfile="$LOG_DIR/${name}.log" \
|
||||
--pidfile="$LOG_DIR/${name}.pid"
|
||||
}
|
||||
|
||||
start_worker "${WORKER_NAME_PREFIX}_default" "${BBAV5_QUEUE_PREFIX}.default" "$DEFAULT_CONCURRENCY"
|
||||
start_worker "${WORKER_NAME_PREFIX}_heavy" "${BBAV5_QUEUE_PREFIX}.heavy" "$HEAVY_CONCURRENCY"
|
||||
start_worker "${WORKER_NAME_PREFIX}_medium" "${BBAV5_QUEUE_PREFIX}.medium" "$MEDIUM_CONCURRENCY"
|
||||
start_worker "${WORKER_NAME_PREFIX}_light" "${BBAV5_QUEUE_PREFIX}.light" "$LIGHT_CONCURRENCY"
|
||||
start_worker "${WORKER_NAME_PREFIX}_rnaseq" "${BBAV5_QUEUE_PREFIX}.rnaseq" "$RNASEQ_CONCURRENCY"
|
||||
|
||||
echo "Celery workers started with queue prefix: ${BBAV5_QUEUE_PREFIX}"
|
||||
echo "Redis: ${BBAV5_REDIS_URL}"
|
||||
echo "Logs: ${LOG_DIR}"
|
||||
Reference in New Issue
Block a user