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

Лимиты

Возможность Лимит
Queues 10,000 на аккаунт
Размер сообщения 128 KB 1
Повторные попытки сообщений 100
Максимальный размер пакета потребителя 100 сообщений
Максимальное количество сообщений на sendBatch вызов 100 (или 256KB в общей сложности)
Максимальное время ожидания пакета 60 секунд
Пропускная способность сообщений на очередь 5,000 сообщений в секунду 2
Период хранения сообщений 3 Настраивается до 14 дней.
Размер бэклога на очередь 4 25GB
Параллельные вызовы потребителя 250 только push
Длительность потребителя (реальное время) 15 минут 5
Время CPU потребителя Настраивается до 5 минут
visibilityTimeout (pull-очереди) 12 часов
delaySeconds (при отправке или повторной попытке) 24 часа

1 1 KB считается равным 1000 байт. Сообщения могут включать до ~100 байт внутренних метаданных, которые учитываются в общем лимите размера сообщения.

2 Превышение максимальной пропускной способности сообщений приведёт к тому, что send() и sendBatch() методов выбросить исключение с Too Many Requests ошибку, пока производитель не опустится ниже лимита.

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

4 Отдельные очереди, достигшие этого лимита, получат Storage Limit Exceeded ошибку при вызове send() или sendBatch() для очереди.

5 См. лимиты Workers.

Увеличение лимитов CPU для Worker-потребителя очереди

Worker-потребители очереди являются скриптами Worker и используют общий лимиты CPU на один вызов как и любые Workers. Обратите внимание, что процессорное время представляет собой время активной обработки, а не время ожидания сетевых запросов, обращений к хранилищу или других операций ввода-вывода.

По умолчанию максимальное время CPU на один вызов Worker-потребителя составляет 30 секунд, но его можно увеличить, задав limits.cpu_ms в конфигурации Wrangler:

{
  // ...rest of your configuration...
  "limits": {
    "cpu_ms": 300000, // 300,000 milliseconds = 5 minutes
  },
  // ...rest of your configuration...
}
[limits]
cpu_ms = 300_000

Подробнее о процессорном времени и лимитах см. ознакомьтесь с документацией Workers.

Лимиты астрономического времени по типу вызова

Астрономическое время (также называемое wall-clock time) обозначает общее время, прошедшее от начала до конца вызова, включая время ожидания сетевых запросов, операций ввода-вывода и других асинхронных операций. Это отличается от Процессорное время, который измеряет только время, которое CPU активно тратит на выполнение вашего кода.

В следующей таблице приведены ограничения по фактическому времени выполнения для разных типов вызовов Worker на платформе для разработчиков:

Тип вызова Лимит астрономического времени Подробности
Входящий HTTP-запрос Без ограничений Жёсткое ограничение отсутствует, пока клиент остаётся подключённым. Worker, который продолжает передавать тело ответа потоком, остаётся активным. waitUntil() продлевает выполнение до 30 секунд после ответа или отключения.
Cron Triggers 15 минут Для запланированных Workers максимальное время выполнения составляет 15 минут на один вызов.
Потребители Queue 15 минут Максимальное время выполнения каждого вызова потребителя составляет 15 минут.
Обработчики alarm Durable Object 15 минут Вызовы alarm handler выполняются не более 15 минут.
Durable Objects (RPC / HTTP) Без ограничений Жёсткое ограничение отсутствует, пока вызывающая сторона остаётся подключённой к Durable Object. Durable Object остаётся активным, пока выполняется запрос, RPC-вызов, передача ответа, соединение WebSocket или ожидающая операция ввода-вывода.
Workflows (за шаг) Без ограничений Каждый шаг может выполняться неограниченное время. На отдельные шаги распространяется настроенный Лимит времени CPU.