Задания развертывания
Вы можете использовать deploy jobs, чтобы собирать production data assets. Deploy jobs упрощают запуск команд dbt для проекта в вашей облачной data platform: по расписанию или по событиям. Каждый запуск job в dbt будет отображаться в истории запусков job, а также в подробном обзоре запуска, где доступны:
- Тип триггера job
- Commit SHA
- Имя окружения
- Информация об источниках (sources) и документации, если применимо
- Детали запуска job, включая тайминги, данные о времени выполнения моделей и артефакты
- Подробные шаги запуска с логами и статусами шагов
Вы можете создать deploy job и настроить его запуск по расписанию по дням и времени, задать кастомное cron-расписание или запускать job после завершения другой job.
Предварительные требования
- У вас должна быть учетная запись dbt и лицензия Developer seat.
- Для функции Trigger on job completion ваш аккаунт dbt должен быть на тарифе Starter или Enterprise-tier.
- У вас должен быть dbt‑проект, подключенный к data platform.
- У вас должны быть права доступа для просмотра, создания, изменения или запуска jobs.
- Вам нужно настроить deployment environment.
Создание и расписание jobs
- На странице deployment environment нажмите Create job > Deploy job, чтобы создать новый deploy job.
- Параметры в разделе Job settings:
- Job name — Укажите имя deploy job. Например:
Daily build. - (Опционально) Description — Добавьте описание того, что делает job (например, что job потребляет и что она создает).
- Environment — По умолчанию установлено deployment environment, из которого вы создавали deploy job.
- Job name — Укажите имя deploy job. Например:
- Параметры в разделе Execution settings:
- Commands — По умолчанию включает команду
dbt build. Нажмите Add command, чтобы добавить другие команды, которые должны выполняться при запуске job. Во время запуска job built-in commands «цепочкой» выполняются друг за другом; если один шаг падает, вся job завершится со статусом "Error". - Generate docs on run — Включите, если хотите генерировать документацию проекта при запуске deploy job. Если этот шаг упадет, job всё равно может завершиться успешно, если последующие шаги пройдут.
- Run source freshness — Включите, чтобы выполнить команду
dbt source freshnessперед запуском deploy job. Если этот шаг упадет, job всё равно может завершиться успешно, если последующие шаги пройдут. Подробнее см. Source freshness.
- Commands — По умолчанию включает команду
- Параметры в разделе Triggers:
- Run on schedule — Запускать deploy job по расписанию.
- Timing — Укажите, как расписать deploy job: Intervals (запуск каждые N часов), Specific hours (в определенные часы суток) или Cron schedule (по cron синтаксису).
- Days of the week — По умолчанию установлено каждый день, если в Timing выбран Intervals или Specific hours.
- Run when another job finishes — Запускать deploy job после завершения другой upstream deploy job.
- Project — Укажите родительский проект, в котором находится upstream deploy job.
- Job — Укажите upstream deploy job.
- Completes on — Выберите статус(ы) запуска job, при которых deploy job будет поставлена в очередь (enqueue).
- Run on schedule — Запускать deploy job по расписанию.
-
(Опционально) Параметры в разделе Advanced settings:
- Environment variables — Определите переменные окружения, чтобы настроить поведение проекта при запуске deploy job.
- Target name — Определите имя target, чтобы настроить поведение проекта при запуске deploy job. Переменные окружения и target name часто используются взаимозаменяемо.
- Run timeout — Отменить deploy job, если время выполнения превышает значение таймаута.
- Compare changes against — По умолчанию установлено No deferral. Выберите Environment или This Job, чтобы указать dbt, с чем нужно сравнивать изменения.
к сведениюВ старых версиях dbt можно было делать deferral только на конкретную job, а не на environment. Deferral на job сравнивает state с кодом проекта из последнего успешного запуска deferred job. Deferral на environment эффективнее, поскольку dbt сравнивает с представлением проекта (которое хранится в
manifest.json) из последнего успешного запуска deploy job в deferred environment. Учитывая все deploy jobs, которые выполняются в deferred environment, dbt получает более точное и актуальное представление state проекта.- dbt version — По умолчанию наследуется версия dbt из окружения. dbt Labs настоятельно рекомендует не менять настройку по умолчанию. Возможность менять версию на уровне job полезна только при обновлении проекта до следующей версии dbt; иначе несовпадение версий окружения и job может приводить к непредсказуемому поведению.
- Threads — По умолчанию установлено 4 потока. Увеличьте количество потоков, чтобы повысить параллельность выполнения моделей.
Расписание по дням
Чтобы задать расписание job, включите опцию Run on schedule, выберите нужные дни недели и укажите часы или интервалы.
В разделе Timing вы можете использовать регулярные интервалы для jobs, которые должны выполняться часто в течение дня, или указывать конкретные часы для jobs, которые должны выполняться в определенное время:
-
Intervals — Используйте этот вариант, чтобы задать частоту запуска job в часах. Например, если выбрать Every 2 hours, job будет запускаться каждые 2 часа, начиная с полуночи UTC. Это не означает, что первый запуск будет ровно в полночь UTC. Однако последующие запуски всегда будут происходить с одинаковым интервалом. Например, если предыдущий запуск был в 00:04 UTC, следующий будет в 02:04 UTC. Этот вариант полезен, если job нужно запускать несколько раз в день по регулярному интервалу.
-
Specific hours — Используйте этот вариант, чтобы задать конкретные часы запуска job. Можно указать список часов (в UTC) через запятую, когда job должна запускаться. Например, если указать
0,12,23,, job будет запускаться в полночь, в полдень и в 11 вечера UTC. Запуски будут консистентны по часам и дням, так что если job запускается в 00:05, 12:05 и 23:05 UTC, то она будет запускаться в эти же часы каждый день. Этот вариант полезен, если job должна выполняться в определенное время суток и не должна запускаться чаще одного раза в день.
dbt использует Coordinated Universal Time (UTC) и не выполняет преобразование в ваш часовой пояс и не учитывает переходы на летнее/зимнее время. Например:
- 0 означает 12am (полночь) UTC
- 12 означает 12pm (день) UTC
- 23 означает 11pm UTC
Cron schedule
Чтобы полностью кастомизировать расписание job, выберите опцию Cron schedule и используйте cron‑синтаксис. В этом синтаксисе можно указать минуту, час, день месяца, месяц и день недели, что позволяет задавать сложные расписания (например запуск job в первый понедельник каждого месяца).
Частота cron
Чтобы повысить производительность, ограничения частоты расписания зависят от тарифа dbt:
- Developer plans: dbt задает минимальный интервал в 10 минут. Это означает, что запуск чаще, чем раз в 10 минут, или с интервалом меньше 10 минут, не поддерживается.
- Starter, Enterprise и Enterprise+ plans: ограничений на частоту выполнения job нет.
Примеры
Используйте инструменты вроде crontab.guru, чтобы сформировать корректный cron‑синтаксис. Этот инструмент позволяет вводить cron‑фрагменты и получать их расшифровку на обычном языке. Планировщик dbt поддерживает L для запуска jobs в последний день месяца.
Примеры cron‑расписаний:
0 * * * *: Каждый час, в 0 минут.*/5 * * * *: Каждые 5 минут. (Недоступно на Developer plans)5 4 * * *: Ровно в 4:05 AM UTC.30 */4 * * *: В минуту 30 каждого 4‑го часа (например 4:30 AM, 8:30 AM, 12:30 PM и т. д., всё UTC).0 0 */2 * *: В 12:00 AM (полночь) UTC через день.0 0 * * 1: В полночь UTC каждый понедельник.0 0 L * *: В 12:00 AM (полночь), в последний день месяца.0 0 L 1,2,3,4,5,6,8,9,10,11,12 *: В 12:00 AM в последний день месяца, только в январе, феврале, марте, апреле, мае, июне, августе, сентябре, октябре, ноябре и декабре.0 0 L 7 *: В 12:00 AM в последний день месяца, только в июле.0 0 L * FRI,SAT: В 12:00 AM в последний день месяца и в пятницу и субботу.0 12 L * *: В 12:00 PM (день), в последний день месяца.0 7 L * 5: В 07:00 AM, в последний день месяца и в пятницу.30 14 L * *: В 02:30 PM, в последний день месяца.
Триггер по завершению job StarterEnterpriseEnterprise +
Чтобы связывать deploy jobs в цепочку:
- В разделе Triggers включите опцию Run when another job finishes.
- Выберите проект, в котором находится deploy job, после завершения которой вы хотите запускать вашу job.
- Укажите upstream (родительскую) job, завершение которой будет триггерить вашу job.
- Это также можно настроить через Create Job API.
- В опции Completes on выберите статус(ы) запуска job, при которых deploy job будет поставлена в очередь (enqueue).
- Вы можете настроить конфигурацию, где одна upstream job триггерит несколько downstream (дочерних) jobs, а также jobs в других проектах. Для настройки триггера у вас должны быть соответствующие permissions на проект и job.
Если запуск вашей job был триггернут другой job, ссылку на upstream job можно найти в разделе деталей запуска.
Удаление job
Чтобы удалить одно задание или несколько заданий в dbt:
- Нажмите Deploy в навигационной панели.
- Нажмите Jobs и выберите задание, которое вы хотите удалить.
- Нажмите Settings в правом верхнем углу страницы, затем нажмите Edit.
- Прокрутите страницу вниз и нажмите Delete job, чтобы удалить задание.
- Подтвердите действие во всплывающем окне, нажав Confirm delete в правом нижнем углу, чтобы немедленно удалить задание. Это действие нельзя отменить. Однако вы можете создать новое задание с теми же параметрами, если удаление было выполнено по ошибке.
- Обновите страницу — удалённое задание должно исчезнуть. Если вы хотите удалить несколько заданий, необходимо выполнить эти шаги для каждого задания.
Если у вас возникли какие‑либо проблемы, вы всегда можете связаться с нами для получения дополнительной помощи.
Мониторинг заданий
На странице Environments есть два раздела, которые дают обзор заданий для выбранного окружения:
- In progress — Список заданий, которые в данный момент выполняются, с информацией о времени запуска
- Top jobs by models built — Ранжирует задания по количеству построенных моделей за определённый период времени
История настроек job
Вы можете просматривать историю изменений настроек job за последние 90 дней.
Чтобы посмотреть историю изменений:
- Перейдите в Orchestration в главном меню и нажмите Jobs.
- Нажмите на название job.
- Нажмите Settings.
- Нажмите History.





