アプリケーションが容量キューで待たないようにする場合は、rejectIfBusy を設定します。容量が使えないとき、Workers AI は同期推論リクエストを拒否します。
ネイティブ REST API では、リクエストの options オブジェクトに rejectIfBusy を追加します。
curl --request POST \
--url "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/ai/run/@cf/google/gemma-4-26b-a4b-it" \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"messages": [
{
"role": "user",
"content": "Explain what a capacity queue is."
}
],
"options": {
"rejectIfBusy": true
}
}'Workers AI バインディングでは、env.AI.run() の第 3 引数に rejectIfBusy を渡します。
const response = await env.AI.run(
"@cf/google/gemma-4-26b-a4b-it",
{
messages: [
{
role: "user",
content: "Explain what a capacity queue is.",
},
],
},
{ rejectIfBusy: true },
);const response = await env.AI.run(
"@cf/google/gemma-4-26b-a4b-it",
{
messages: [
{
role: "user",
content: "Explain what a capacity queue is.",
},
],
},
{ rejectIfBusy: true },
);rejectIfBusy をモデル入力オブジェクトに追加しないでください。バインディングはこのオプションを第 3 引数からのみ適用します。
OpenAI 互換の Chat Completions では、リクエストボディのトップレベルに options を追加します。
curl --request POST \
--url "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/ai/v1/chat/completions" \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"model": "@cf/google/gemma-4-26b-a4b-it",
"messages": [
{
"role": "user",
"content": "Explain what a capacity queue is."
}
],
"options": {
"rejectIfBusy": true
}
}'カスタムフィールドを保持する OpenAI クライアントはこのオプションを送れます。未知のフィールドを取り除くクライアントは適用しないため、リクエストは通常どおり進みます。
拒否されたリクエストは HTTP ステータス 429 と内部エラーコード 3040 を返します。エラーメッセージは Capacity temporarily exceeded, please try again. です。
エラーの詳細は Workers AI のエラー を参照してください。