слов.арь · bisovka

объясни queue --простыми-словами

Иллюстрация к термину «Очередь»

Очередь

КороткоТвои агенты могут работать быстро.

Твои агенты могут работать быстро. Но они не могут работать везде одновременно.

Очередь — это линия задач, которым нужно дождаться своего хода.

Представь принтер заказов на загруженной ресторанной кухне. Суббота, восемь вечера, чеки прилетают быстрее, чем линия успевает готовить. Они не превращаются в еду сразу после появления. Они попадают на рейку — физическую очередь. Каждый чек висит там, пока не освободится повар, а потом его снимают, когда приходит время. Кухня обрабатывает их по порядку. Никого не пропускают. Ничего не проваливается в пол. Работа ждет, пока ее можно будет сделать нормально.

Эта рейка и есть очередь. В софте используется ровно та же идея.

Что делает очередь:

Очередь держит задачи в упорядоченной линии и выпускает их, когда воркер готов. Три свойства делают ее важной:

  1. Она ничего не теряет. Элемент попал в очередь и остается там, пока его не обработают. Кухня закрылась, ты перезапустился, что угодно — чек все еще на рейке.
  2. Она управляет потоком. Без очереди, если 500 человек зарегистрируются за минуту, система попытается обработать все 500 сразу и упадет. С очередью эти 500 элементов выстраиваются в линию. Ты обрабатываешь их с той скоростью, с которой реально можешь. Спокойная кухня. Та же работа сделана.
  3. Она развязывает того, кто создает работу, и того, кто ее делает. Хостес не готовит. Кухня не рассаживает людей. Заказ проходит между ними по рейке, и ни одной стороне не нужно постоянно знать, что прямо сейчас делает другая.

Паттерн, который ты начнешь видеть везде, стоит его узнать.

Каждая отправка формы, которая обрабатывается в фоне: очередь. Каждая рассылка писем пачками через email-платформу: очередь. Каждый раз, когда где-то написано "обрабатывается" вместо "готово", — посередине обычно стоит очередь.

Когда сценарий работы агента ломается, а задачи "застряли" или "копятся", то, на что ты смотришь, называется забитой очередью. Линия длинная, кухня медленная или повара перестали выходить. Как только ты можешь это назвать, ты понимаешь, какой вопрос задать дальше.

Очередь не оценивает работу. Она просто держит ее, пока кто-то не будет готов.

← все термины