Initial commit
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
# 调度部署指南
|
||||
|
||||
## 推荐: macOS crontab (开发机首选)
|
||||
|
||||
```bash
|
||||
# 安装定时任务
|
||||
cd /Users/summer/Downloads/cc-projects/news
|
||||
crontab deploy/crontab.example
|
||||
|
||||
# 验证
|
||||
crontab -l
|
||||
|
||||
# 查看执行日志
|
||||
tail -f logs/scheduler-cron.log
|
||||
```
|
||||
|
||||
优点:
|
||||
- 不依赖后台守护进程
|
||||
- 每次执行独立,失败不影响下次
|
||||
- 日志清晰可查
|
||||
|
||||
---
|
||||
|
||||
## 备选: Linux systemd (生产服务器)
|
||||
|
||||
```bash
|
||||
# 1. 复制 service 文件
|
||||
sudo cp deploy/a-share-research.service /etc/systemd/system/
|
||||
|
||||
# 2. 编辑 WorkingDirectory 和 User (按实际路径修改)
|
||||
sudo nano /etc/systemd/system/a-share-research.service
|
||||
|
||||
# 3. 启用并启动
|
||||
sudo systemctl daemon-reload
|
||||
sudo systemctl enable a-share-research
|
||||
sudo systemctl start a-share-research
|
||||
|
||||
# 4. 验证
|
||||
systemctl status a-share-research
|
||||
journalctl -u a-share-research -f
|
||||
```
|
||||
|
||||
注意:
|
||||
- `SCHEDULE_TIMES` 在 .env 中配置
|
||||
- 项目路径在 service 文件的 `WorkingDirectory` 中指定
|
||||
- APScheduler 日志写入 `logs/scheduler.log`
|
||||
|
||||
---
|
||||
|
||||
## 备选: CLI 前台守护 (调试用)
|
||||
|
||||
```bash
|
||||
# 启动前台守护(占用当前终端,Ctrl+C 退出)
|
||||
uv run a-share pipeline
|
||||
```
|
||||
|
||||
会按 .env 中的 `SCHEDULE_TIMES` 定时触发,直接输出日志到终端。
|
||||
@@ -0,0 +1,24 @@
|
||||
[Unit]
|
||||
Description=A 股 Deep Research 定时调度
|
||||
After=network-online.target
|
||||
Wants=network-online.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User=pi
|
||||
Group=pi
|
||||
WorkingDirectory=/home/pi/cc-projects/news
|
||||
ExecStart=/home/pi/cc-projects/news/.venv/bin/python -m scripts.run_scheduler
|
||||
Restart=always
|
||||
RestartSec=30
|
||||
|
||||
# 日志
|
||||
StandardOutput=append:/home/pi/cc-projects/news/logs/scheduler-stdout.log
|
||||
StandardError=append:/home/pi/cc-projects/news/logs/scheduler-stderr.log
|
||||
|
||||
# 环境变量
|
||||
Environment="PATH=/home/pi/cc-projects/news/.venv/bin:/usr/local/bin:/usr/bin:/bin"
|
||||
Environment="TZ=Asia/Shanghai"
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@@ -0,0 +1,41 @@
|
||||
# A 股 Deep Research 定时调度 (crontab)
|
||||
# 替代 APScheduler 守护进程,更简单可靠
|
||||
#
|
||||
# 安装: crontab deploy/crontab.example
|
||||
# 查看: crontab -l
|
||||
# 编辑: crontab -e
|
||||
# 清空: crontab -r
|
||||
#
|
||||
# 日志: logs/scheduler-cron.log
|
||||
|
||||
SHELL=/bin/zsh
|
||||
PATH=/usr/local/bin:/usr/bin:/bin
|
||||
TZ=Asia/Shanghai
|
||||
|
||||
# 注意: 所有命令的 --date 使用 "" (cron 运行时自动取当天)
|
||||
|
||||
# ============================================================
|
||||
# 每日 4 次定时任务
|
||||
# ============================================================
|
||||
|
||||
# 07:00 — 首次抓取 + 日报
|
||||
0 7 * * * cd /Users/summer/Downloads/cc-projects/news && uv run a-share pipeline --once --report --steps crawler,extractor,dedup,llm,embedding,qdrant >> logs/scheduler-cron.log 2>&1
|
||||
|
||||
# 12:00 — 午间补充抓取(不含日报)
|
||||
0 12 * * * cd /Users/summer/Downloads/cc-projects/news && uv run a-share pipeline --once --steps crawler,extractor,dedup,llm,embedding,qdrant >> logs/scheduler-cron.log 2>&1
|
||||
|
||||
# 18:00 — 收盘后抓取(不含日报)
|
||||
0 18 * * * cd /Users/summer/Downloads/cc-projects/news && uv run a-share pipeline --once --steps crawler,extractor,dedup,llm,embedding,qdrant >> logs/scheduler-cron.log 2>&1
|
||||
|
||||
# 22:00 — 晚间抓取(不含日报)
|
||||
0 22 * * * cd /Users/summer/Downloads/cc-projects/news && uv run a-share pipeline --once --steps crawler,extractor,dedup,llm,embedding,qdrant >> logs/scheduler-cron.log 2>&1
|
||||
|
||||
# ============================================================
|
||||
# cninfo 公告管道(每日 06:30,日报前)
|
||||
# ============================================================
|
||||
# 30 6 * * * cd /Users/summer/Downloads/cc-projects/news && uv run a-share pipeline --cninfo-once >> logs/scheduler-cron.log 2>&1
|
||||
|
||||
# ============================================================
|
||||
# 个股日报(每日 07:30,日报之后)
|
||||
# ============================================================
|
||||
# 30 7 * * * cd /Users/summer/Downloads/cc-projects/news && uv run a-share stock-report >> logs/scheduler-cron.log 2>&1
|
||||
Reference in New Issue
Block a user