Понимание предварительной выборки сельдерея

Я только что узнал о параметре конфигурации (CELERYD_PREFETCH_MULTIPLIERдокументы). По умолчанию установлено значение 4, но (я полагаю) я хочу отключить предварительную выборку или как можно ниже. Я установил его на 1 сейчас, что достаточно близко к тому, что яищу, но естьЕсть некоторые вещи, которые я не делаюТ понять:

Почему эта предварительная загрузка хорошая идея? Я недействительно не вижу причины для этого, если нетs большая задержка между очередью сообщений и рабочими (в моем случае, они в настоящее время работают на одном хосте и в худшем случае могут в конечном итоге работать на разных хостах в одном центре обработки данных). Документация только упоминает недостатки, но не объясняет, каковы преимущества.

Многие люди, похоже, устанавливают это значение на 0, ожидая, что смогут отключить предварительную выборку таким образом (на мой взгляд, разумное предположение). Тем не менее, 0 означает неограниченную предварительную выборку. Почему кто-то хочет неограниченную предварительную выборку, не так ли?Это полностью исключает параллелизм / асинхронность, для которой вы в первую очередь ввели очередь задач?

Почему предварительная загрузка не может быть отключена? Возможно, для производительности не очень хорошая идея отключать ее в большинстве случаев, но есть ли техническая причина, по которой это невозможно? Или это просто не реализовано?

Иногда эта опция связана сCELERY_ACKS_LATE, Например.Роджер Ху пишет «[...] часто [пользователи] действительно хотят, чтобы у работника было зарезервировано только столько задач, сколько есть дочерних процессов. Но это невозможно без включения поздних подтверждений […] » Я неЯ не понимаю, как эти две опции связаны и почему одна невозможна без другой. Еще одно упоминание о связи можно найтиВот, Может кто-нибудь объяснить, почему два варианта связаны?

Ответы на вопрос(4)

Ваш ответ на вопрос