Dead Letter Queue в Cloud Functions
Dead Letter Queue (DLQ) — это очередь, куда перенаправляются сообщения, которые не смогла обработать вызываемая триггером функция Cloud Functions. Сообщение считается обработанным, если функция, которая его получила, завершилась без ошибок. Перенаправленные в DLQ сообщения хранятся в ней для дальнейшей диагностики.
Если функция не обработала сообщение за заданное количество попыток, оно перенаправляется в DLQ. Количество попыток вызова функции и очередь, которая будет использоваться в качестве DLQ, определяются политикой перенаправления. DLQ в Cloud Functions может быть только стандартной очередью.
Если политика перенаправления не настроена, необработанные функцией сообщения удаляются.
Политика перенаправления
Условия перенаправления сообщений в DLQ задаются политикой перенаправления.
Чтобы настроить политику перенаправления для всех триггеров, кроме триггера для Yandex Message Queue, при создании триггера необходимо указать:
- очередь, куда будут перенаправляться сообщения;
- сервисный аккаунт с правами на запись в очередь;
- время, через которое будет сделан повторный вызов функции, если текущий завершился неуспешно;
- количество повторных вызовов, которые будут сделаны, прежде чем триггер отправит сообщение в очередь.
Политика перенаправления для триггера для Yandex Message Queue настраивается при создании очереди, сообщения из которой обрабатывает вызываемая триггером функция.
При перемещении в DLQ сообщение сохраняет свой идентификатор.