Skip to content

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

Cloudflare Workflows

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

Cloudflare Workers 上で、耐久性のある多段階アプリケーションを Workflows で構築します。

Free および Paid プランで利用できます

Workflows を使うと、複数のステップをつなぐアプリケーションを構築できます。失敗したタスクは自動再試行し、状態は分、時間、あるいは週単位でも保持されます。管理するインフラストラクチャはありません。

Workflows は、信頼性の高い AI アプリケーション、データパイプラインの処理、自動メールとトライアル期限によるユーザーライフサイクル管理、人間の承認を含むシステムに使えます。

Workflows が提供するもの:

  • タイムアウトのない耐久性のある多段階実行
  • 外部イベントや承認を待つ機能
  • 自動再試行とエラー処理
  • 組み込みのオブザーバビリティとデバッグ

R2 から取得し、AI の説明を生成し、承認を待ってから公開する画像処理ワークフローです。

export class ImageProcessingWorkflow extends WorkflowEntrypoint {
	async run(event: WorkflowEvent, step: WorkflowStep) {
		const imageData = await step.do('fetch image', async () => {
			const object = await this.env.BUCKET.get(event.payload.imageKey);
			return await object.arrayBuffer();
		});

		const description = await step.do('generate description', async () => {
			const imageArray = Array.from(new Uint8Array(imageData));
			return await this.env.AI.run('@cf/llava-hf/llava-1.5-7b-hf', {
				image: imageArray,
				prompt: 'Describe this image in one sentence',
				max_tokens: 50,
			});
		});

		await step.waitForEvent('await approval', {
			event: 'approved',
			timeout: '24 hours',
		});

		await step.do('publish', async () => {
			await this.env.BUCKET.put(`public/${event.payload.imageKey}`, imageData);
		});
	}
}

はじめる

例を見る


機能

耐久性のあるステップ実行

複雑な処理を耐久性のあるステップに分け、自動再試行とエラー処理を付けます。

スリープとスケジューリング

step.sleep()step.sleepUntil() で、ワークフローを秒、時間、日単位で一時停止します。

外部イベントを待つ

実行を続ける前に、Webhook、ユーザー入力、または外部システムの応答を待ちます。

ワークフローのライフサイクル管理

プログラムまたは API で、ワークフローインスタンスのトリガー、一時停止、再開、終了を行います。


関連製品

Workers

サーバーレスアプリケーションを構築し、優れたパフォーマンス、信頼性、スケールのために世界中へすぐにデプロイします。

Pages

動的なフロントエンドアプリケーションを短時間でデプロイします。


その他のリソース

料金

Workflows の料金の仕組みを確認します。

制限

Workflow の制限と、その中での使い方を確認します。

Developer Discord

Workers コミュニティの Discord で質問し、作っているものを見せ、ほかの開発者とプラットフォームについて話し合います。

@CloudflareDev

@CloudflareDev を Twitter でフォローし、製品発表と Cloudflare Developer Platform の新着を確認します。

役に立ちましたか?