---
canonical: "https://agi-labo.com/tools/wings/docs/run-duration"
title: "Run の時間の数え方"
description: "Run、DB 操作、再試行で使う時間を整理します。"
section: "料金と上限"
order: 16
pageType: "concept"
lastVerifiedVersion: "1.4.16"
lastVerifiedAt: "2026-10-15"
draft: false
surfaces: ["cli", "console", "api"]
plans: ["free", "member"]
---

1日の利用時間は UTC 0時にリセットされます。
無料枠は30分、AGIラボ会員は90分です。
新しい無料アカウントの最初の7日間は10分です。
Run の回数ではなく、開始から終了までの経過時間を数えます。

## Run の時間

成功した Run も失敗した Run も、1日の利用時間に数えます。
別の Handler を呼び出した場合は、その子 Run の時間も数えます。
タイムアウトした Run は、実行期限までの時間を数えます。

Run の実行期限は、プランの最長時間と、その日の残り時間のうち短い方です。
Wings が実行環境を呼ぶ前に失敗した定期実行・手動実行は数えません。
実行環境を呼んだ後は、Handler のコードが始まっていなくても経過時間を数えます。

## Database の時間

Run の外から行う `wings db query`、`wings db exec`、Console での表の閲覧も、1日の利用時間に数えます。

Run 内の `env.db` は、すでに Run の経過時間に含まれます。
DB の時間を二重に加算しません。
DB に独立した日次時間制限はありません。

## 1日の時間を使い切ったとき

新しい Run と、Run の外からの DB 操作は開始できません。
`rate_limited`（HTTP 429、`scope: duration_day`）が返ります。
`retryAfterSeconds` は、次の UTC 0時までに待つ秒数です。
実行中の Run が使う予定の時間も、残り時間から引いて判断します。
すでに動いている Run の `env.db` は、この理由では止めません。

Schedule は、次の回より先に UTC 0時が来る場合だけ0時に再試行します。
次の回が先なら、`superseded_by_next_occurrence` としてその回を飛ばします。
この場合は Run を作りません。
予約済みの再試行も、新しい回が作られていれば飛ばします。
詳しくは[Schedule](/tools/wings/docs/schedules)を確認してください。

## DB の順番を待つとき

DB 操作は、1アカウントにつき1つずつ動きます。
Run の外からの DB 操作が、実行されず待機のまま終わった場合は、DB 操作の時間を加算しません。
Run 内では、DB を待つ間も Run の経過時間に含まれます。
この場合も、DB 操作の時間を二重には加算しません。

Run の外からは最大9.5秒待ちます。
Run 内では、その Run の実行期限の0.5秒前まで待ちます。

## DB が一時停止したとき

1操作が無料枠で5秒、会員で10秒を超えると、DB 操作は15分停止します。
無料枠で同じ UTC 日に2回目の停止が起きると、その日は使えなくなります。

操作の結果が不明な場合は、30秒として数えます。
実際にかかった時間が後で分かれば、その時間に直します。
この30秒を1日の利用時間に加えるのは、Run の外からの操作だけです。
Run 内では、Run 自体の経過時間を数えます。
応答が失われた場合などは、最大5分は次の操作が待つ場合があります。

Wings が結果不明と判定して操作を終えた場合は、DB も一時停止します。
開始した操作の結果が届かないまま5分の期限が切れた場合は、それだけで DB を一時停止しません。

`db_time_quota_exceeded` が返ったら、`reason` と `retryAfterSeconds` を確認してください。
`busy` は前の操作の終了待ち、`paused` は一時停止中です。
案内された時間まで待ってから、再度操作してください。
