30 lines
920 B
Bash
30 lines
920 B
Bash
#!/bin/bash
|
||
# 启动独立 DSH 内容生产 Worker。API 与 DSH 必须使用同一个 YAWAN_DATA_DIR,
|
||
# 以共享 SQLite 队列、知识库、向量索引和 artifacts 产物目录。
|
||
set -euo pipefail
|
||
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
|
||
cd "$ROOT/server"
|
||
|
||
if [ -f "$ROOT/.env.production" ]; then
|
||
set -a
|
||
. "$ROOT/.env.production"
|
||
set +a
|
||
fi
|
||
|
||
export YAWAN_ENV="${YAWAN_ENV:-prod}"
|
||
export YAWAN_EXECUTION_BACKEND="${YAWAN_EXECUTION_BACKEND:-dsh}"
|
||
export YAWAN_DSH_LOG_LEVEL="${YAWAN_DSH_LOG_LEVEL:-INFO}"
|
||
|
||
if [ -x "$ROOT/server/.venv/bin/python" ]; then
|
||
PY="$ROOT/server/.venv/bin/python"
|
||
elif [ -x "$ROOT/.venv/bin/python" ]; then
|
||
PY="$ROOT/.venv/bin/python"
|
||
else
|
||
PY="${PYTHON:-python3}"
|
||
fi
|
||
|
||
LOG_FILE="${YAWAN_DSH_LOG_FILE:-/tmp/yawan-dsh.log}"
|
||
nohup "$PY" -m app.dsh_worker >> "$LOG_FILE" 2>&1 &
|
||
pid=$!
|
||
echo "DSH worker started: pid=$pid log=$LOG_FILE backend=$YAWAN_EXECUTION_BACKEND env=$YAWAN_ENV"
|