Воркеры и повторные попытки
Плавня 1.1.6 · документация разработчика
Содержание главы
- Пул воркеров
- Политика ретраев
- Яд и дедлок
Пул воркеров
workers: N — сколько задач выполняется одновременно в одном
процессе. Каждая задача — отдельная горутина с собственным дедлайном. N
подбирается от профиля задачи: CPU-bound ≈ ядрам, IO-bound — выше.
Политика ретраев
retries: 5
backoff: "exponential" # 1s, 2s, 4s, 8s, 16s (+jitter 20%)
max_delay: 10m
Ретраи считаются на задачу, не на воркера. Постоянно падающая задача
переходит в dead и требует ручного plavnya requeue .
Яд и дедлок
Внимание. Задача, которая ставит задачи и ждёт их
завершения в том же пуле, при N=1 дедлочится. Либо поднимайте пул, либо
используйте
await=False и колбэк.Ядовитая задача (падает всегда) не блокирует очередь — она уходит в
dead после исчерпания ретраев, остальные продолжают выполняться.