任务处理服务

一个基于Node.js、Express、BullMQ(Redis)和SQLite的轻量级任务处理服务,支持任务提交和状态查询。

  • by justinbach
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 justinbach/mini-mcp

使用说明

迷你mcp

一个使用Express、BullMQ(Redis)和SQLite进行作业处理的最小Node.js服务。

端点

  • POST/提交

    • 正文:{“文本”:“您的文本”}
    • 返回:{jobId}
  • GET/status/:id

    • 返回作业状态和结果。

快速入门(Docker开发)

先决条件:Docker桌面正在运行。

  1. 启动堆栈(应用+Redis):
    • docker compose up --build
    • 应用程序正在监听http://localhost:3001(映射到集装箱港口3000)
  2. 提交作业:
    • curl -s -X POST http://localhost:3001/submit -H "Content-Type: application/json" -d '{"text":"hello world"}'
    • 答复: { "jobId": "<id>" }
  3. 检查状态:
    • curl http://localhost:3001/status/<id>
  4. 日志:
    • docker compose logs -f app
  5. 停止堆栈:
    • docker compose down

笔记:

  • SQLite数据库保存在指定的卷中 mini_mcp_data 在 /data/mini-mcp.db 在容器中。
  • 代码更改通过nodemon热重载。

本地安装程序(不含Docker)

  1. 复制环境: cp .env.example .env
  2. 安装deps: npm install
  3. 确保Redis正在运行(例如,Homebrew: brew install redis && brew services start redis)
  4. 启动服务器:
    • 开发人员: npm run dev (节点)
    • 产品: npm run start
  5. 在上使用相同的端点http://localhost:3000

配置

环境变量(显示默认值):

  • PORT=3000
  • REDIS_URL=redis://127.0.0.1:6379 (Docker组合集 redis://redis:6379)
  • DATABASE_PATH=./mini-mcp.db (Docker编写使用 /data/mini-mcp.db)
  • QUEUE_NAME=text-jobs