TaskPulse/backend/app/schemas/task.py
Steven 521cf0269c feat: initial TaskPulse release
AI Agent 定时任务跟踪、监控、状态看板系统。

- FastAPI + Vue3 单体应用
- AI Agent 一键接入(批量注册 API)
- 暗色主题 Dashboard
- 后台调度器 + 超时告警
- 飞书/邮件/Webhook 多渠道通知
- Base URL 可配置
- Gunicorn 生产部署
2026-06-14 22:39:23 +08:00

40 lines
1005 B
Python

"""Pydantic schemas — ScheduledTask."""
from datetime import datetime
from pydantic import BaseModel, Field
class TaskCreate(BaseModel):
name: str = Field(..., max_length=256)
description: str = Field(default="")
cron_expression: str = Field(..., max_length=64)
grace_period: int = Field(default=300, ge=0)
class TaskUpdate(BaseModel):
name: str | None = Field(None, max_length=256)
description: str | None = None
cron_expression: str | None = None
grace_period: int | None = None
status: str | None = None # active / paused / stopped
class TaskOut(BaseModel):
id: int
agent_id: int
agent_name: str = ""
name: str
description: str
cron_expression: str
grace_period: int
status: str
last_run_at: datetime | None = None
last_run_result: str | None = None
next_run_at: datetime | None = None
total_run_count: int = 0
created_at: datetime
updated_at: datetime
model_config = {"from_attributes": True}