Здравствуйте, коллеги !Может ктонибудь внятно объяснить разницу между maximal_backoff_time и minimal_backoff_time в плане времени между попытками послать письмо ?
# The maximal_backoff_time parameter specifies the maximal time
# between attempts to deliver a deferred message.
#
# Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
# The default time unit is s (seconds).
#
maximal_backoff_time = 4000s# The minimal_backoff_time parameter specifies the minimal time
# between attempts to deliver a deferred message. This parameter
# also limits the time an unreachable destination is kept in the
# short-term, in-memory, destination status cache.
#
# Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
# The default time unit is s (seconds).
#
minimal_backoff_time = 1000s
>Может ктонибудь внятно объяснить разницу между maximal_backoff_time и minimal_backoff_time в плане времени
>между попытками послать письмо ?
Помочь перевести?
>>Может ктонибудь внятно объяснить разницу между maximal_backoff_time и >>minimal_backoff_time в плане времени
>>между попытками послать письмо ?
>Помочь перевести?
Нет ;)
Неясно чем отличается минимальное время между попытками от максимального.
Если раз в минимальное время пытаемся послать письмо, то что делается раз в максимальное время.
Неясно.
>>Помочь перевести?
>Нет ;)
Слава Богу! :)>Неясно чем отличается минимальное время между попытками от максимального.
>Если раз в минимальное время пытаемся послать письмо, то что делается раз
>в максимальное время.
>Неясно.
OK. Попробую описАть, но предупреждаю заранее - лектор из меня мягко
говоря никакой. Может я вас только больше запутаю...Когда при доставке сообщения возникает временная ошибка, то сообщение помещается в deferred (отсроченную) очередь. При перемещении для отложенных сообщений устанавливается mtime в будущее на интервал между интересовавшими вас minimal_backoff_time и maximal_backoff_time). Конкретное время на которое сообщение будет отложено определяется примерно так (упрощенно):
1) 1-e попадание в deferred - minimal_backoff_time
2) далее min(время проведенное в очереди *2, maximal_backoff_time)
3) если время нахождения в очереди > maximal_queue_lifetime, то сообщение посылается назад отправителю.
Т.е. более свежие сообщения postfix пытается отправить чаще, чем "залежалые".Каждые queue_run_delay единиц времени (по дефолту 1000 секунд) qmgr сканирует эту и incoming очереди, перемещая часть сообщений в активную очередь (используется round-robin алгоритм для предотвращения забивания очередей). За один проход из deferred в active попадают только те сообщения для которых "пришло время" (т.е. установленный ранее mtime наступил/прошел).
Так же qmnr в течении minimal_backoff_time помнит "провальные" адреса (next hop в терминах postfix) и не пытается отправлять на них.
Понятно?
>>>Помочь перевести?
>>Нет ;)
>Слава Богу! :)
>
>>Неясно чем отличается минимальное время между попытками от максимального.
>>Если раз в минимальное время пытаемся послать письмо, то что делается раз
>>в максимальное время.
>>Неясно.
>OK. Попробую описАть, но предупреждаю заранее - лектор из меня мягко
>говоря никакой. Может я вас только больше запутаю...Постараемся разобраться ;)
>Когда при доставке сообщения возникает временная ошибка, то сообщение помещается в
>deferred (отсроченную) очередь. При перемещении для отложенных сообщений устанавливается mtime в
>будущее на интервал между интересовавшими вас minimal_backoff_time и maximal_backoff_time). Конкретное
>время на которое сообщение будет отложено определяется примерно так (упрощенно):
>1) 1-e попадание в deferred - minimal_backoff_time
>2) далее min(время проведенное в очереди *2, maximal_backoff_time)Эти два пункта не совсем ясны ;(
Может быть их можно переформулировать ?
Заранее спасибо !
>3) если время нахождения в очереди > maximal_queue_lifetime, то сообщение посылается назад отправителю.Это конечно подразумевается.
>Т.е. более свежие сообщения postfix пытается отправить чаще, >чем "залежалые".
Логично.
>Каждые queue_run_delay единиц времени (по дефолту 1000 секунд) qmgr сканирует эту и
>incoming очереди, перемещая часть сообщений в активную очередь (используется round-robin алгоритм
>для предотвращения забивания очередей). За один проход из deferred в
>active попадают только те сообщения для которых "пришло время" (т.е. установленный
>ранее mtime наступил/прошел).Наверно нужно с моей стороны уточнить, что сам алгоритм работы отсылки писем мне известен. Положено ;) Непонятно на данный момент как выбирается время между минимумом м максимумом.
>Так же qmnr в течении minimal_backoff_time помнит "провальные" адреса (next hop в
>терминах postfix) и не пытается отправлять на них.
>
>Понятно?
>Эти два пункта не совсем ясны ;(
>Может быть их можно переформулировать ?
При первой не удачной попытке, отправка сообщения откладывается на minimal_backoff_time. Если же вторая и последующие попытки отправить письмо так же заканчиваются не удачей, то следующая попытка будет сделана через общее_время_нахождения_письма_в_очереди * 2, но не позднее чем через maximal_backoff_time.Так же существуют поправки вносимые шедулером в зависимости от состояния очередей и кучи параметров...