~/VibeHandbook

Cloudflare

developers.cloudflare.com

Queues

Что это

Cloudflare Queues — это управляемая очередь сообщений для Workers. Один Worker помещает сообщения в очередь (производитель); другой Worker вызывается с пакетами этих сообщений для их обработки (потребитель). Это позволяет отделить медленную или ненадёжную работу от запроса, который её инициировал — принять запрос быстро, а саму работу выполнить в фоне.

Сильные стороны

  • Разделяет производителей и потребителей, сглаживая всплески трафика.
  • Автоматическая пакетная обработка, повторные попытки и очередь недоставленных сообщений (dead-letter queue) для сбоев.
  • Чистая интеграция с Workers — и производитель, и потребитель являются Workers с привязками.
  • Не нужно поддерживать инфраструктуру; масштабируется вместе с вашим трафиком.
  • Гарантирует доставку «хотя бы один раз», поэтому сообщения не теряются незаметно.

Компромиссы

  • Доставка «хотя бы один раз» означает, что потребители должны быть идемпотентными (обрабатывать дубликаты).
  • Не для мгновенных, синхронных ответов — работа выполняется асинхронно.
  • Порядок соблюдается по мере возможности, а не строго и глобально.
  • У пропускной способности и размера сообщений есть ограничения, которые нужно учитывать при проектировании.

Когда использовать

Используйте Queues для фоновых задач: отправки писем, обработки загрузок, вызова медленных сторонних API, рассылки вебхуков или буферизации записей — всего, чего вы бы предпочли не заставлять пользователя ждать.

Подходит для vibe coding

Queues — это удобный способ для агента добавить фоновую обработку без развёртывания брокера. Попросите его сделать потребителя идемпотентным (использовать ключ сообщения) и настроить очередь недоставленных сообщений, чтобы сбои были видны. Конфигурация подключает один Worker одновременно как производителя и потребителя очереди.

# wrangler.toml
[[queues.producers]]
queue = "jobs"
binding = "JOBS"

[[queues.consumers]]
queue = "jobs"
max_batch_size = 10
dead_letter_queue = "jobs-dlq"
npx wrangler queues create jobs
npx wrangler deploy