evo-schedule
v1.0.0
Published
部署 Evo Collector 定时任务(Windows schtasks / Unix crontab),零第三方依赖
Maintainers
Readme
evo-schedule
部署 Evo Collector 定时任务:将 runner.js 安装到 ~/.evo_collector/bin,并用 node 注册每日系统定时任务。零第三方依赖。
使用
npx evo-schedule deploy
npx evo-schedule deploy --name EvoCollector --hour 4 --minute 0
npx evo-schedule remove --name EvoCollector
npx evo-schedule query --name EvoCollectorimport { deployEvoCollector, removeEvoCollector, queryEvoCollector } from 'evo-schedule';
await deployEvoCollector({ name: 'EvoCollector', schedule: { hour: 4, minute: 0 } });
await queryEvoCollector('EvoCollector');
await removeEvoCollector('EvoCollector');目录结构
~/.evo_collector/
├── bin/
│ ├── package.json
│ ├── runner.js
│ └── cache/
│ └── remote-collector.mjs
└── logs/
└── runner.log流程
- 拷贝包内
runner.js、package.json→~/.evo_collector/bin/ - 注册系统定时任务:
node ~/.evo_collector/bin/runner.js - 定时触发后,
runner.js从http://aihub.sundray.work/evo/public/js/collector.js下载脚本到bin/cache/并执行 - 运行日志写入
~/.evo_collector/logs/runner.log(超过 1MB 自动轮转,最多保留当前 + 上一份)
要求
- Node.js >= 18
- Windows:
schtasks;Linux/macOS:crontab
FastAPI 服务端(无鉴权)
在 server/ 目录提供了 FastAPI 接口实现:
POST /api/v1/collectPOST /api/v1/logsGET /healthzGET /api/v1/reports/latest?user_id=xxx
启动方式:
cd server
pip install -r requirements.txt
uvicorn main:app --host 0.0.0.0 --port 3000可选环境变量:
EVO_DB_PATH:SQLite 路径(默认server/data.db)EVO_MAX_BODY_BYTES:请求体上限(默认 20MB)EVO_MAX_LOG_BYTES:单个日志字段上限(默认 512KB)
