chore: baseline — ORM migration + systemd deploy + MCP server + daily check
- ORM migration: models/ops 重构 - deploy: 标准化 systemd timer/service 部署体系 - MCP server: 5 个只读工具(任务/状态/数据集) - daily check: 数据一致性巡检 - watch: task_watch 后台监控 - kline_daily: 麦蕊优先,时间门禁15:00 - 删除: task_industry_sector, task_sector_features
This commit is contained in:
Executable
+59
@@ -0,0 +1,59 @@
|
||||
#!/bin/bash
|
||||
# 部署 market-sync systemd units 到 /etc/systemd/system/
|
||||
# 2026-07-09 新增: market-sync-worker.service(长驻进程, 调度 schedule_* 任务)
|
||||
#
|
||||
# 用法: sudo bash bin/deploy_systemd.sh
|
||||
#
|
||||
# 跑这个脚本会:
|
||||
# 1. 复制 bin/systemd/market-sync*.{service,timer} 到 /etc/systemd/system/
|
||||
# 2. systemctl daemon-reload
|
||||
# 3. enable + start market-sync-worker.service
|
||||
# 4. 不动已存在的 .timer (它们都已 enable, 重复 enable 无副作用)
|
||||
set -euo pipefail
|
||||
|
||||
REPO_DIR="$(cd "$(dirname "$0")/.." && pwd)"
|
||||
SYSTEMD_SRC="$REPO_DIR/bin/systemd"
|
||||
SYSTEMD_DST="/etc/systemd/system"
|
||||
|
||||
if [ "$(id -u)" -ne 0 ]; then
|
||||
echo "❌ 必须用 sudo 跑: sudo bash $0" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "=== 1. 复制 unit files ==="
|
||||
for f in "$SYSTEMD_SRC"/market-sync*.{service,timer}; do
|
||||
[ -f "$f" ] || continue
|
||||
name="$(basename "$f")"
|
||||
cp -v "$f" "$SYSTEMD_DST/$name"
|
||||
chmod 644 "$SYSTEMD_DST/$name"
|
||||
done
|
||||
|
||||
echo ""
|
||||
echo "=== 2. daemon-reload ==="
|
||||
systemctl daemon-reload
|
||||
|
||||
echo ""
|
||||
echo "=== 3. 启用 + 启动 worker 长驻进程(关键!) ==="
|
||||
if ! systemctl is-enabled --quiet market-sync-worker.service; then
|
||||
systemctl enable market-sync-worker.service
|
||||
fi
|
||||
# 如果已通过 nohup 启动了, 先 kill 掉避免双跑
|
||||
if pgrep -f "app\.entrypoints\.worker" >/dev/null; then
|
||||
echo " ⚠️ 检测到手动启动的 worker 进程, 先 kill"
|
||||
pkill -TERM -f "app\.entrypoints\.worker" || true
|
||||
sleep 2
|
||||
pkill -KILL -f "app\.entrypoints\.worker" 2>/dev/null || true
|
||||
fi
|
||||
systemctl restart market-sync-worker.service
|
||||
sleep 2
|
||||
systemctl status market-sync-worker.service --no-pager | head -10
|
||||
|
||||
echo ""
|
||||
echo "=== 4. 列出所有 market-sync timer (验证) ==="
|
||||
systemctl list-timers market-sync* --no-pager 2>&1 | head -20
|
||||
|
||||
echo ""
|
||||
echo "✅ 部署完成"
|
||||
echo " - 长驻 worker: systemctl status market-sync-worker.service"
|
||||
echo " - 看任务执行: tail -f logs/worker_manual_*.log (本进程) 或 journalctl -u market-sync-worker -f (systemd 接管后)"
|
||||
echo " - 巡检: .venv/bin/python bin/daily_sync_check.py"
|
||||
Reference in New Issue
Block a user