Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

カスタム制限

最終更新 Markdown で表示Agent セットアップ

カスタム制限を使うと、顧客の Worker のリソース使用量に上限をプログラムで適用できます。呼び出しごとの最大 CPU 時間とサブリクエスト数を設定できます。ユーザー Worker がいずれかの上限に達すると、そのユーザー Worker はすぐに例外をスローします。

カスタム制限を設定する

カスタム制限は、動的な dispatch Worker で設定できます。

export default {
	async fetch(request, env) {
		try {
			// parse the URL, read the subdomain
			let workerName = new URL(request.url).host.split(".")[0];
			let userWorker = env.dispatcher.get(
				workerName,
				{},
				{
					// set limits
					limits: { cpuMs: 10, subRequests: 5 },
				},
			);
			return await userWorker.fetch(request);
		} catch (e) {
			if (e.message.startsWith("Worker not found")) {
				// we tried to get a worker that doesn't exist in our dispatch namespace
				return new Response("", { status: 404 });
			}
			return new Response(e.message, { status: 500 });
		}
	},
};

役に立ちましたか?