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