Skip to content

Scheduling

Overview

Balto allows you to define and configure your project schedules in code right alongside your models. Once your schedules are deployed, the Balto Orchestrator will ensure that they're always run on time. Balto supports the same syntax as dbt Cloud (and other orchestrators with cron support, e.g. Airflow) for defining schedules, however these can be defined directly in your dbt project.

A Schedule consists of a name, a cron statement, and an optional selector statement. When your project is deployed your schedules get materialized as Snowflake tasks which will trigger a stored procedure supplied by the Balto Orchestrator. That stored procedure takes the selector and using the currently deployed manifest will schedule all matching models in your project for execution.

Usage

Syntax

A schedule has the following attributes:

models/schedules.yml
1
2
3
4
5
6
version: 2

schedules:
    - name: daily_orders_refresh
      schedule: 0 * * * *
      selector: model.jaffle_shop.orders+

Limitations

Schedules support standard cron syntax and support a maximum frequency of 1 minute.