Skip to content

gdmuna/task-runner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

task-runner

基于 NestJS 的自动化任务执行平台。

支持通过 HTTP API 管理定时爬虫与工作流任务,提供增量/全量抓取、指数退避重试、邮件与企业微信通知,以及 Bull Board 任务队列可视化面板。

特性

  • 任务调度:BullMQ + Valkey 队列,支持 Cron 表达式动态注册/注销
  • Playwright 抓取:并发可控的浏览器池,支持复杂站点的无头抓取
  • 增量/全量模式:OA 爬虫可按需全量重跑或仅抓取增量条目
  • 分层异常体系AppException 继承链,域异常按模块独立注册
  • 双令牌认证:JWT ES256(Access + Refresh),HttpOnly Cookie
  • 结构化日志:Pino JSON 日志 + AsyncLocalStorage 请求链路追踪
  • 完整测试覆盖:Service 单元测试 + API E2E 测试(Supertest)
  • Automation Dashboard:Vue3 SPA,任务管理、执行历史、数据可视化

快速上手

cp .env.example .env.development
pnpm install
pnpm db:migrate        # 初始化数据库
pnpm start:dev         # 启动开发服务(热重载)

API 文档:http://localhost:3000/api-doc Bull Board:http://localhost:3000/admin/queues

Dashboard

cd dashboard && pnpm install && pnpm dev

访问 http://localhost:5173,通过 Dashboard 管理任务定义、查看执行历史与数据图表。

Docker 部署

docker compose up -d --wait
  • 后端:http://localhost:3000
  • Dashboard:http://localhost:4000

更多内容见 docs/

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Generated from gdmuna/NestJS-Scaffold