0Pricing
Helm Academy · Урок

Вес и порядок хуков

Детерминированно задавайте последовательность нескольких хуков

«Вес и порядок хуков» — бесплатный урок Helm Academy на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Helm Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Helm Academy содержит 4 уроков всего.

Порядок имеет значение

Когда несколько хуков используют одно событие, порядок может иметь значение. Возможно, секрет должен существовать до запуска миграции. Helm упорядочивает хуки с помощью веса.

Аннотация веса

Порядок выполнения задаётся аннотацией helm.sh/hook-weight. Её значение представляет собой строку с числом, которое Helm использует для сортировки хуков одного и того же события.

"helm.sh/hook-weight": "5"

Сначала выполняется меньший вес

Helm сортирует веса в порядке возрастания, поэтому первым выполняется наименьшее число. Хук с весом -5 срабатывает раньше хука с весом 0, а тот — раньше хука с весом 10.

Допустимы отрицательные значения

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

"helm.sh/hook-weight": "-5"

Заключайте число в кавычки

Значение веса должно быть строкой в кавычках, даже если оно представляет число. Запишите "10" в кавычках, а не просто 10, иначе аннотация будет недействительной.

annotations:
  "helm.sh/hook-weight": "10"

Значение по умолчанию — ноль

Хук без аннотации веса считается имеющим вес ноль. Поэтому ноль удобно использовать как базовое значение, относительно которого можно запланировать другие хуки до или после него.

Сначала группируются события

Веса упорядочиваются только в пределах одного и того же события. Хук предварительной установки никогда не перемешивается с хуком после установки: сначала выполняются все хуки предварительной установки, а затем происходят последующие события.

При равенстве сортировка идёт по имени

Если два хука имеют одинаковый вес, Helm сортирует их по имени ресурса в алфавитном порядке. Если порядок действительно важен, лучше использовать разные веса.

Каждый вес должен завершиться

Helm выполняет хуки по весам и ждёт готовности каждого из них перед переходом к следующему. Поэтому хук настройки полностью завершается до начала миграции, которую он подготавливает. ⏳

Практическая пара

Представьте хук создания секрета с весом -5 и хук миграции с весом 0. Helm гарантирует, что секрет будет создан первым, поэтому миграция сможет его прочитать.

# secret hook
"helm.sh/hook-weight": "-5"
# migration hook
"helm.sh/hook-weight": "0"

Оставляйте промежутки между весами

Оставляйте промежутки между весами — например, используйте 10, 20, 30 вместо 1, 2, 3. Позже вы сможете вставить новый хук между ними, не перенумеровывая остальные. 📐

Быстрая проверка

У двух хуков предварительной установки веса -5 и 10. Вам нужно определить, какой из них выполнится первым.

Повторение

Аннотация hook-weight, содержащая число в кавычках, упорядочивает хуки одного события от наименьшего веса к наибольшему. Значение по умолчанию — ноль, а при равенстве порядок определяется именем. 🔢

Часто задаваемые вопросы

Урок «Вес и порядок хуков» бесплатный?

Да — полный текст урока «Вес и порядок хуков» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Helm Academy, подпишись на CoddyKit PRO. Курс Helm Academy содержит 4 уроков всего.

Чему я научусь в уроке «Вес и порядок хуков»?

Детерминированно задавайте последовательность нескольких хуков Ты практикуешь Helm Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Helm Academy?

Предыдущий опыт не требуется. Helm Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.

Сколько времени занимает урок «Вес и порядок хуков»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Helm Academy?

Да. Каждый урок Helm Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Что такое хуки и когда они запускаются
  2. Задание миграции DB перед обновлением
  3. Вес и порядок хуков
  4. Политики удаления хуков
← Назад к Helm Academy