Files
docs/standards/mcp/templates/app/domain/jobs/models.py
Vishesh 'ironeagle' Bangotra 0cb35d10a6 Phase 7: serve the vet sample from the template tools and docs
- build.py: _TEMPLATE_COMPONENTS rewritten around the vet sample (53 kinds —
  per-resource slices, jobs, worked appointment_reminder family, tests);
  seed tokens dropped from the manifest ('sample: vet' instead)
- registry.py: get_app_component(kind) no longer renames item/example seeds;
  prompts and tool docs updated to 'copy a slice and adapt'
- templates/README.md, 01_build_recipe, 40_ui_admin, wiki/03 updated off the
  old seed scheme; repo inventory/config now exclude vet (docs move under
  standards; react/vet itself is deleted in a later phase)
- regenerated MCP bundle, vendored templates, and site output
2026-10-20 14:58:17 +05:30

38 lines
1.2 KiB
Python

"""# Summary
Jobs domain — the worker's queue. Each job is a unit of pipeline work the
background worker claims and executes.
"""
from typing import Literal
from pydantic import BaseModel
from domain.parents.models import Metadata
class Job(BaseModel):
"""A unit of background work.
Attributes:
id (int | None): Server-assigned identifier. Defaults to None.
name (str): Human label for the job.
kind (str): Dispatch key — selects the pipeline (e.g.
``appointment_reminder``).
status (str): Lifecycle status. Defaults to ``pending``.
payload (dict | None): Job-specific input. Defaults to None.
retry_count (int): Failed attempts so far. Defaults to 0.
error_message (str | None): Last failure detail. Defaults to None.
metadata (Metadata | None): Presentation metadata. Defaults to None.
"""
id: int | None = None
name: str
kind: str
status: Literal["pending", "processing", "done", "failed"] = "pending"
payload: dict | None = None
retry_count: int = 0
error_message: str | None = None
metadata: Metadata | None = None
model_config = {"extra": "ignore"}