proxy-retry-after

<domain>

Через какой интервал повторять, если очередь встала из-за сбоя прокси
в конфигурации это строкаproxy-retry-after значение retry-afterвнутри блока <domain>
Отдельный шаг для сбоя на нашей стороне

Третья причина, по которой очередь попадает в режим повторов, — не отказ приёмника и не ошибка имён, а сбой соединения с прокси. Для неё действует не retry-after, а эта строка.

Логика та же, что у retry-after-dns-error: приёмник этой попытки не видел. Соединение не дошло до его порта, письма он не получал, репутации отправителя ничего не грозит. Поэтому здесь уместен короткий шаг — пример руководства 5m,5m,10m вдвое-впятеро быстрее обычного.

Задаётся так же, как обычное расписание: одним интервалом или лесенкой. Без своего значения берётся retry-after — и тогда сбой прокси обходится очереди так же дорого, как отказ приёмника.

Главная ловушка. Строка не появляется в выводе настроек очереди. pmta show settings печатает и retry-after, и retry-after-dns-error, а этой в списке нет — проверить действующее значение на узле нечем, остаётся сверяться с конфигурацией.
Что делает Хаб. Не пишет, хотя отправка через прокси в парке есть. Сбой соединения с гейтом или прокси очередь поэтому отрабатывает по общему retry-after — 30m из шаблона политик, — то есть так же неторопливо, как отказ приёмника.
Рекомендуемые значения

Короче обычного шага. Сбой прокси — это неполадка на нашей стороне: перезапуск, обрыв, исчерпание соединений. Она проходит за минуты, и ждать полчаса незачем.

Короткая лесенка полезнее ровного шага. 5m,5m,10m пробует дважды быстро — на случай мгновенного сбоя — и отступает, если прокси лежит всерьёз.

Не путайте с числом попыток внутри одной доставки. Сколько раз пробовать сам прокси, прежде чем уйти на следующий в списке, задаёт retry-attempts в блоке <proxy>. Эта строка — про то, когда очередь вернётся к попытке вообще.

Разделение «короткая лесенка против ровного шага» — наше. Из руководства здесь синтаксис списка, умолчание «равно retry-after» и сам пример 5m,5m,10m.
Пример в конфигурации
# сбой прокси проходит за минуты — не наказываем за него очередь
<domain example.com>
    retry-after 30m
    proxy-retry-after 5m,5m,10m</domain>
Без второй строки очередь после обрыва к прокси ждала бы полчаса — столько же, сколько после отказа приёмника, который писем даже не видел.
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.
▲

Типичные ошибки и проблемы

что делают не так и чем это кончается2 ошибки▶

Полагаются на умолчание

§ 3.3.10.47

Чем чреватоБез своего значения берётся retry-after. Обрыв к прокси, который прошёл за минуту, стоит очереди получаса простоя — при том что приёмник этой попытки не видел.
Как заметитьПосле восстановления прокси очередь стоит ещё десятки минут.
Как правильноЗадать короткую лесенку: пять минут, пять минут, десять.

Ищут строку в выводе настроек

наш опыт

Чем чреватоpmta show settings её не печатает. Решают, что директива не применилась, и правят конфигурацию второй раз — а она работала с самого начала.
Как заметитьСтрока есть в конфигурации, в выводе настроек её нет.
Как правильноПроверять по конфигурации, а не по выводу настроек.
Совместимость
PowerMTA 6.0
описана в руководстве этой версии · платформа: любая
С какой версии директива доступна, вендор указывает не для всех — здесь пометки нет. Имя встречается и в издании руководства 5.0.
Справочные данные
Синтаксис
proxy-retry-after <time-interval-list>
Значения
интервал времени или список интервалов через запятую, до 30 ступеней; каждый — число и буква d, h, m или s, без пробелов
Умолчание
значение retry-after § 3.3.10.47
Применение
reload, перезапуск не нужен
Очередь
уже поставленное в очередь не затронет
Где писать
<domain>
Сколько раз
один раз в блоке
Всё здесь — из руководства, с разделом.
Наследование
Значение сливается по блокам <domain> от общего к частному: побеждает наиболее подходящий блок, а не последний по файлу. Умолчание зависит от соседней строки: без своего значения берётся retry-after. Подхватывается по pmta reload.
Как проверить на узле
Действующего значения на узле не увидеть — в выводе настроек очереди этой строки нет. Остаётся конфигурация и журнал соединений с прокси:
grep -n proxy-retry-after /etc/pmta/config
grep -i proxy /var/log/pmta/pmta.log | tail -20
Отсутствие строки в выводе pmta show settings — не признак того, что она не задана: PowerMTA её просто не печатает. Записей о сбоях прокси Хаб не собирает — состояние прокси он узнаёт своими проверками.
В Хабе
Цена ошибки
обратимо: вредит, пока стоит
Сценарии
Разобраться с доставляемостью · Настроить темп под провайдера