目录

TaskFlow

TaskFlow 是一个基于 Flask 的轻量级任务管理服务,提供健康检查、任务创建、任务查询和任务状态更新接口。

环境要求

  • Conda
  • Python 3.9 或更高版本
  • Docker Desktop(使用容器部署时需要)

使用 Conda 部署

在项目根目录执行:

conda env create --prefix .\.conda-env --file environment.yml
conda activate .\.conda-env
python -m app

如果本机 Conda 镜像配置导致环境创建失败,可以指定默认源重新创建:

conda create --prefix .\.conda-env python=3.9 pip --override-channels --channel defaults -y
conda run --prefix .\.conda-env python -m pip install -r requirements.txt
conda activate .\.conda-env
python -m app

服务启动后监听 http://127.0.0.1:5000。使用以下命令检查服务状态:

Invoke-RestMethod http://127.0.0.1:5000/health

停止服务时,在运行窗口按 Ctrl+C。

使用 Docker Compose 部署

确保 Docker Desktop 已启动,然后在项目根目录执行:

docker compose up --build -d
docker compose ps
Invoke-RestMethod http://127.0.0.1:5000/health

查看服务日志:

docker compose logs -f taskflow

停止并移除容器:

docker compose down

接口使用

查看服务信息

Invoke-RestMethod http://127.0.0.1:5000/

创建任务

$body = @{ title = "完成部署" } | ConvertTo-Json
Invoke-RestMethod `
  -Uri http://127.0.0.1:5000/api/v1/tasks `
  -Method Post `
  -ContentType "application/json" `
  -Body $body

查询任务

Invoke-RestMethod http://127.0.0.1:5000/api/v1/tasks

更新任务状态

$body = @{ completed = $true } | ConvertTo-Json
Invoke-RestMethod `
  -Uri http://127.0.0.1:5000/api/v1/tasks/1 `
  -Method Patch `
  -ContentType "application/json" `
  -Body $body

任务数据保存在进程内存中,服务或容器重启后数据会被清空。

关于
371.0 KB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9 京公网安备 11010802047560号