# 任务运行器 iTi-Flask 提供单进程任务注册表和运行器。 它适合轻量定时任务和手动任务。 ## 能力 支持: - 任务注册。 - 手动触发。 - `interval` 调度。 - 简单 cron-like 调度。 - 单进程内防重复执行。 - 内存运行记录。 不支持: - 分布式锁。 - 多实例 exactly-once。 - 持久化队列。 - Celery 或 RQ 集成。 多进程部署时,只在一个专用进程启用调度。 ## 配置 默认不启动调度线程。 ```python class DevConfig(BaseDevConfig): def __init__(self) -> None: super().__init__() self.tasks_enabled = True ``` ## 注册任务 ```python from iti.tasks import task_registry def rebuild_reports(): return {"rebuilt": 10} task_registry.register( name="reports.rebuild", handler=rebuild_reports, schedule="interval:600", description="重建报表缓存", ) ``` ## 手动触发 ```python from iti.tasks import task_registry run = task_registry.trigger("reports.rebuild") print(run.status) print(run.result) ``` 同一任务正在运行时,再次触发会返回 `skipped`。 ## 调度格式 ```text interval:60 cron:*/10 * * * * cron:* * * * * ``` cron 解析只读取分钟字段。 `cron:* * * * *` 等价于每 60 秒。