INTEGRITY Документация

Cloudflare Workflows

Создавайте устойчивые многошаговые приложения на Cloudflare Workers с помощью Workflows.

Доступно на планах Free и Paid

С Workflows вы можете создавать приложения, которые объединяют в цепочку несколько шагов, автоматически повторяют невыполненные задачи, и сохраняют состояние на минуты, часы или даже недели, при этом вам не нужно управлять инфраструктурой.

С помощью Workflows создавайте надёжные приложения на основе ИИ, обрабатывайте конвейеры данных, управляйте жизненным циклом пользователей с автоматическими письмами и истечением пробного периода, а также внедряйте системы подтверждения с участием человека.

Workflows дают вам:

  • Устойчивое многошаговое выполнение без тайм-аутов
  • Возможность приостанавливать выполнение для ожидания внешних событий или подтверждений
  • Автоматические повторные попытки и обработка ошибок
  • Встроенная наблюдаемость и отладка

Пример

Workflow обработки изображений, который получает файл из R2, генерирует описание с помощью ИИ, ожидает подтверждения и публикует результат:

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);
		});
	}
}

Начало работы

Просмотреть примеры


Возможности

Устойчивое выполнение шагов

Разбивайте сложные операции на устойчивые шаги с автоматическими повторными попытками и обработкой ошибок.

Пауза и планирование

Приостанавливайте выполнение Workflow на секунды, часы или дни с помощью step.sleep() и step.sleepUntil().

Ожидание внешних событий

Дождитесь вебхуков, ввода пользователя или ответов внешних систем, прежде чем продолжить выполнение.

Управление жизненным циклом Workflow

Запускайте, приостанавливайте, возобновляйте и завершайте экземпляры Workflow программно или через API.


Workers

Создавайте serverless приложения и мгновенно развертывайте их по всему миру, получая исключительную производительность, надёжность и масштабируемость.

Pages

Разворачивайте динамические фронтенд-приложения в рекордные сроки.


Дополнительные ресурсы

Цены

Подробнее о тарификации Workflows.

Лимиты

Подробнее об ограничениях Workflow и о том, как их учитывать в работе.

Варианты хранения

Подробнее о вариантах хранилищ и баз данных, на основе которых можно строить решения с помощью Workers.

Discord для разработчиков

Общайтесь с сообществом Workers в Discord: задавайте вопросы, показывайте, что вы создаёте, и обсуждайте платформу с другими разработчиками.

@CloudflareDev

Подпишитесь на @CloudflareDev в Twitter, чтобы узнавать об анонсах продуктов и новостях Cloudflare Developer Platform.

Содержание

35 страниц, зеркалированных из документации Cloudflare для workflows.

Pages

Разработка с Workflows

Примеры

Начало работы

Observability

Python Workflows SDK

Платформа