Files
Auto_Bangumi/docs/ja/dev/plugins/points/scheduled-task.md
Estrella Pan 3258fcca4b docs(4.0-P7): 插件开发文档拆分为总览加每个扩展点一页,补齐中英日三语
- docs/dev/plugins.md 改为总览与导航,旧内容拆入 docs/dev/plugins/
- 新增核心概念、配置表单、事件、前端挂载点、命令行、签名与分发、内置插件、示例页
- 每个扩展点一页,侧边栏由页面表生成
- 改正旧文档中下载器配置、hardlink path_map 与补链按钮的过时描述
2026-10-08 14:51:00 +02:00

1.1 KiB

定期タスク (scheduled_task)

定期的に実行するバックグラウンドタスクを追加します。@provider(points.SCHEDULED_TASK, id=...) は ScheduledTask を返します。

from ab_sdk.tasks import ScheduledTask

@provider(points.SCHEDULED_TASK, id="sync")
def sync(self):
    async def run() -> None:
        ...

    return ScheduledTask(run, interval=lambda: self.config.interval, initial_delay=60)
フィールド 説明
run 引数のない async 関数
interval 2 回の実行の間隔(秒)。関数にでき、毎回読み直されるため設定の変更に追従します
initial_delay 最初の実行までに待つ秒数。既定は 0
enabled 任意の関数。False を返すと、その回はスキップします
  • タスクはプログラムの動作中だけ実行されます。RSS 更新などの組み込みタスクと一緒に起動・停止します。
  • run が送出した例外は、プラグインのブレーカーに数えられます。
  • 間隔は前回の実行が終わった時点から数えます。固定の拍ではありません。