Schedules as Code
What are Paradime YAML-Based Schedules?
Paradime YAML schedules are configuration-as-code definitions, allowing you to define, version, and manage your data pipeline schedules directly within your dbt project repository. These schedules are configured in a single file named paradime_schedules.yml located in the root directory of your dbt project (alongside dbt_project.yml).
Prerequisites
In order to run yaml-based schedules, connect your data warehouse to the Scheduler Environment.
File Location and Structure
your-dbt-project/
โโโ dbt_project.yml
โโโ paradime_schedules.yml # All schedules must be defined here
โโโ models/
โโโ tests/
โโโ ...Why Use YAML-Based Schedules?
Version Control
Schedule configurations are tracked alongside your dbt models
Review schedule modifications through Pull Requests
Enforce team review processes for schedule changes
Infrastructure as Code
Schedules are treated as code, not just UI configurations
Easy replication across environments
Enables automated deployment pipelines
Team Collaboration
Simplified schedule review process
Standard formatting and validation
Documentation lives with the code
How YAML-bases schedules are deployed?
Schedules are always read from the paradime_schedules.yml file on your default branch (usually main or master).
Automatic Refresh: Paradime checks for changes every 10 minutes.
Manual Refresh: For immediate updates, navigate to the Bolt interface and click Parse Schedules.
๐ก Note: To update your schedules, make sure to merge your changes to the default branch first.
Configuration Reference
This section describes the YAML configuration format for scheduling and managing automated tasks. The configuration supports various execution modes including scheduled runs, trigger-based execution, deferred scheduling, CI/CD integration and API.
๐ก Looking for complete examples? Jump to the Example Configurations section below.
Base Configuration
Every scheduler configuration must include these basic fields:
Execution Modes
1. Schedule-Triggered Execution
Basic scheduled execution using cron expression:
Supported Timezone List
Africa/Accra
America/Sao_Paulo
Etc/GMT-6
Africa/Addis_Ababa
America/Scoresbysund
Etc/GMT-7
Africa/Algiers
America/Shiprock
Etc/GMT-8
Africa/Asmara
America/Sitka
Etc/GMT-9
Africa/Asmera
America/St_Barthelemy
Etc/GMT-10
Africa/Bamako
America/St_Johns
Etc/GMT-11
Africa/Bangui
America/St_Kitts
Etc/GMT-12
Africa/Banjul
America/St_Lucia
Etc/GMT-13
Africa/Bissau
America/St_Thomas
Etc/GMT-14
Africa/Blantyre
America/St_Vincent
Etc/GMT+0
Africa/Brazzaville
America/Swift_Current
Etc/GMT+1
Africa/Bujumbura
America/Tegucigalpa
Etc/GMT+2
Africa/Cairo
America/Thule
Etc/GMT+3
Africa/Casablanca
America/Thunder_Bay
Etc/GMT+4
Africa/Ceuta
America/Tijuana
Etc/GMT+5
Africa/Conakry
America/Toronto
Etc/GMT+6
Africa/Dakar
America/Tortola
Etc/GMT+7
Africa/Dar_es_Salaam
America/Vancouver
Etc/GMT+8
Africa/Djibouti
America/Virgin
Etc/GMT+9
Africa/Douala
America/Whitehorse
Etc/GMT+10
Africa/El_Aaiun
America/Winnipeg
Etc/GMT+11
Africa/Freetown
America/Yakutat
Etc/GMT+12
Africa/Gaborone
America/Yellowknife
Etc/GMT0
Africa/Harare
Antarctica/Casey
Etc/Greenwich
Africa/Johannesburg
Antarctica/Davis
Etc/UCT
Africa/Juba
Antarctica/DumontDUrville
Etc/Universal
Africa/Kampala
Antarctica/Macquarie
Etc/UTC
Africa/Khartoum
Antarctica/Mawson
Etc/Zulu
Africa/Kigali
Antarctica/McMurdo
Europe/Amsterdam
Africa/Kinshasa
Antarctica/Palmer
Europe/Andorra
Africa/Lagos
Antarctica/Rothera
Europe/Astrakhan
Africa/Libreville
Antarctica/South_Pole
Europe/Athens
Africa/Lome
Antarctica/Syowa
Europe/Belfast
Africa/Luanda
Antarctica/Troll
Europe/Belgrade
Africa/Lubumbashi
Antarctica/Vostok
Europe/Berlin
Africa/Lusaka
Arctic/Longyearbyen
Europe/Bratislava
Africa/Malabo
Asia/Aden
Europe/Brussels
Africa/Maputo
Asia/Almaty
Europe/Bucharest
Africa/Maseru
Asia/Amman
Europe/Budapest
Africa/Mbabane
Asia/Anadyr
Europe/Busingen
Africa/Mogadishu
Asia/Aqtau
Europe/Chisinau
Africa/Monrovia
Asia/Aqtobe
Europe/Copenhagen
Africa/Nairobi
Asia/Ashgabat
Europe/Dublin
Africa/Ndjamena
Asia/Ashkhabad
Europe/Gibraltar
Africa/Niamey
Asia/Atyrau
Europe/Guernsey
Africa/Nouakchott
Asia/Baghdad
Europe/Helsinki
Africa/Ouagadougou
Asia/Bahrain
Europe/Isle_of_Man
Africa/Porto-Novo
Asia/Baku
Europe/Istanbul
Africa/Sao_Tome
Asia/Bangkok
Europe/Jersey
Africa/Timbuktu
Asia/Barnaul
Europe/Kaliningrad
Africa/Tripoli
Asia/Beirut
Europe/Kiev
Africa/Tunis
Asia/Bishkek
Europe/Kirov
Africa/Windhoek
Asia/Brunei
Europe/Kyiv
America/Adak
Asia/Calcutta
Europe/Lisbon
America/Anchorage
Asia/Chita
Europe/Ljubljana
America/Anguilla
Asia/Choibalsan
Europe/London
America/Antigua
Asia/Chongqing
Europe/Luxembourg
America/Araguaina
Asia/Chungking
Europe/Madrid
America/Argentina/Buenos_Aires
Asia/Colombo
Europe/Malta
America/Argentina/Catamarca
Asia/Dacca
Europe/Mariehamn
America/Argentina/ComodRivadavia
Asia/Damascus
Europe/Minsk
America/Argentina/Cordoba
Asia/Dhaka
Europe/Monaco
America/Argentina/Jujuy
Asia/Dili
Europe/Moscow
America/Argentina/La_Rioja
Asia/Dubai
Europe/Nicosia
America/Argentina/Mendoza
Asia/Dushanbe
Europe/Oslo
America/Argentina/Rio_Gallegos
Asia/Famagusta
Europe/Paris
America/Argentina/Salta
Asia/Gaza
Europe/Podgorica
America/Argentina/San_Juan
Asia/Harbin
Europe/Prague
America/Argentina/San_Luis
Asia/Hebron
Europe/Riga
America/Argentina/Tucuman
Asia/Ho_Chi_Minh
Europe/Rome
America/Argentina/Ushuaia
Asia/Hong_Kong
Europe/Samara
America/Aruba
Asia/Hovd
Europe/San_Marino
America/Asuncion
Asia/Irkutsk
Europe/Sarajevo
America/Atikokan
Asia/Istanbul
Europe/Saratov
America/Atka
Asia/Jakarta
Europe/Simferopol
America/Bahia
Asia/Jayapura
Europe/Skopje
America/Bahia_Banderas
Asia/Jerusalem
Europe/Sofia
America/Barbados
Asia/Kabul
Europe/Stockholm
America/Belem
Asia/Kamchatka
Europe/Tallinn
America/Belize
Asia/Karachi
Europe/Tirane
America/Blanc-Sablon
Asia/Kashgar
Europe/Tiraspol
America/Boa_Vista
Asia/Kathmandu
Europe/Ulyanovsk
America/Bogota
Asia/Katmandu
Europe/Uzhgorod
America/Boise
Asia/Khandyga
Europe/Vaduz
America/Buenos_Aires
Asia/Kolkata
Europe/Vatican
America/Cambridge_Bay
Asia/Krasnoyarsk
Europe/Vienna
America/Campo_Grande
Asia/Kuala_Lumpur
Europe/Vilnius
America/Cancun
Asia/Kuching
Europe/Volgograd
America/Caracas
Asia/Kuwait
Europe/Warsaw
America/Catamarca
Asia/Macao
Europe/Zagreb
America/Cayenne
Asia/Macau
Europe/Zaporozhye
America/Cayman
Asia/Magadan
Europe/Zurich
America/Chicago
Asia/Makassar
Factory
America/Chihuahua
Asia/Manila
GB
America/Ciudad_Juarez
Asia/Muscat
GB-Eire
America/Coral_Harbour
Asia/Nicosia
GMT
America/Cordoba
Asia/Novokuznetsk
GMT-0
America/Costa_Rica
Asia/Novosibirsk
GMT+0
America/Coyhaique
Asia/Omsk
GMT0
America/Creston
Asia/Oral
Greenwich
America/Cuiaba
Asia/Phnom_Penh
Hongkong
America/Curacao
Asia/Pontianak
HST
America/Danmarkshavn
Asia/Pyongyang
Iceland
America/Dawson
Asia/Qatar
Indian/Antananarivo
America/Dawson_Creek
Asia/Qostanay
Indian/Chagos
America/Denver
Asia/Qyzylorda
Indian/Christmas
America/Detroit
Asia/Rangoon
Indian/Cocos
America/Dominica
Asia/Riyadh
Indian/Comoro
America/Edmonton
Asia/Saigon
Indian/Kerguelen
America/Eirunepe
Asia/Sakhalin
Indian/Mahe
America/El_Salvador
Asia/Samarkand
Indian/Maldives
America/Ensenada
Asia/Seoul
Indian/Mauritius
America/Fort_Nelson
Asia/Shanghai
Indian/Mayotte
America/Fort_Wayne
Asia/Singapore
Indian/Reunion
America/Fortaleza
Asia/Srednekolymsk
Iran
America/Glace_Bay
Asia/Taipei
Israel
America/Godthab
Asia/Tashkent
Jamaica
America/Goose_Bay
Asia/Tbilisi
Japan
America/Grand_Turk
Asia/Tehran
Kwajalein
America/Grenada
Asia/Tel_Aviv
Libya
America/Guadeloupe
Asia/Thimbu
MET
America/Guatemala
Asia/Thimphu
Mexico/BajaNorte
America/Guayaquil
Asia/Tokyo
Mexico/BajaSur
America/Guyana
Asia/Tomsk
Mexico/General
America/Halifax
Asia/Ujung_Pandang
MST
America/Havana
Asia/Ulaanbaatar
MST7MDT
America/Hermosillo
Asia/Ulan_Bator
Navajo
America/Indiana/Indianapolis
Asia/Urumqi
NZ
America/Indiana/Knox
Asia/Ust-Nera
NZ-CHAT
America/Indiana/Marengo
Asia/Vientiane
Pacific/Apia
America/Indiana/Petersburg
Asia/Vladivostok
Pacific/Auckland
America/Indiana/Tell_City
Asia/Yakutsk
Pacific/Bougainville
America/Indiana/Vevay
Asia/Yangon
Pacific/Chatham
America/Indiana/Vincennes
Asia/Yekaterinburg
Pacific/Chuuk
America/Indiana/Winamac
Asia/Yerevan
Pacific/Easter
America/Indianapolis
Atlantic/Azores
Pacific/Efate
America/Inuvik
Atlantic/Bermuda
Pacific/Enderbury
America/Iqaluit
Atlantic/Canary
Pacific/Fakaofo
America/Jamaica
Atlantic/Cape_Verde
Pacific/Fiji
America/Jujuy
Atlantic/Faeroe
Pacific/Funafuti
America/Juneau
Atlantic/Faroe
Pacific/Galapagos
America/Kentucky/Louisville
Atlantic/Jan_Mayen
Pacific/Gambier
America/Kentucky/Monticello
Atlantic/Madeira
Pacific/Guadalcanal
America/Knox_IN
Atlantic/Reykjavik
Pacific/Guam
America/Kralendijk
Atlantic/South_Georgia
Pacific/Honolulu
America/La_Paz
Atlantic/St_Helena
Pacific/Johnston
America/Lima
Atlantic/Stanley
Pacific/Kanton
America/Los_Angeles
Australia/ACT
Pacific/Kiritimati
America/Louisville
Australia/Adelaide
Pacific/Kosrae
America/Lower_Princes
Australia/Brisbane
Pacific/Kwajalein
America/Maceio
Australia/Broken_Hill
Pacific/Majuro
America/Managua
Australia/Canberra
Pacific/Marquesas
America/Manaus
Australia/Currie
Pacific/Midway
America/Marigot
Australia/Darwin
Pacific/Nauru
America/Martinique
Australia/Eucla
Pacific/Niue
America/Matamoros
Australia/Hobart
Pacific/Norfolk
America/Mazatlan
Australia/LHI
Pacific/Noumea
America/Mendoza
Australia/Lindeman
Pacific/Pago_Pago
America/Menominee
Australia/Lord_Howe
Pacific/Palau
America/Merida
Australia/Melbourne
Pacific/Pitcairn
America/Metlakatla
Australia/North
Pacific/Pohnpei
America/Mexico_City
Australia/NSW
Pacific/Ponape
America/Miquelon
Australia/Perth
Pacific/Port_Moresby
America/Moncton
Australia/Queensland
Pacific/Rarotonga
America/Monterrey
Australia/South
Pacific/Saipan
America/Montevideo
Australia/Sydney
Pacific/Samoa
America/Montreal
Australia/Tasmania
Pacific/Tahiti
America/Montserrat
Australia/Victoria
Pacific/Tarawa
America/Nassau
Australia/West
Pacific/Tongatapu
America/New_York
Australia/Yancowinna
Pacific/Truk
America/Nipigon
Brazil/Acre
Pacific/Wake
America/Nome
Brazil/DeNoronha
Pacific/Wallis
America/Noronha
Brazil/East
Pacific/Yap
America/North_Dakota/Beulah
Brazil/West
Poland
America/North_Dakota/Center
Canada/Atlantic
Portugal
America/North_Dakota/New_Salem
Canada/Central
PRC
America/Nuuk
Canada/Eastern
PST8PDT
America/Ojinaga
Canada/Mountain
ROC
America/Panama
Canada/Newfoundland
ROK
America/Pangnirtung
Canada/Pacific
Singapore
America/Paramaribo
Canada/Saskatchewan
Turkey
America/Phoenix
Canada/Yukon
UCT
America/Port_of_Spain
CET
Universal
America/Port-au-Prince
Chile/Continental
US/Alaska
America/Porto_Acre
Chile/EasterIsland
US/Aleutian
America/Porto_Velho
CST6CDT
US/Arizona
America/Puerto_Rico
Cuba
US/Central
America/Punta_Arenas
EET
US/East-Indiana
America/Rainy_River
Egypt
US/Eastern
America/Rankin_Inlet
Eire
US/Hawaii
America/Recife
EST
US/Indiana-Starke
America/Regina
EST5EDT
US/Michigan
America/Resolute
Etc/GMT
US/Mountain
America/Rio_Branco
Etc/GMT-0
US/Pacific
America/Rosario
Etc/GMT-1
US/Samoa
America/Santa_Isabel
Etc/GMT-2
UTC
America/Santarem
Etc/GMT-3
W-SU
America/Santiago
Etc/GMT-4
WET
America/Santo_Domingo
Etc/GMT-5
Zulu
2. Run Completion Trigger
Triggers execution based on completion of another job:
3. Merge Trigger
Triggers execution on merge events:
Requires GitHub integration.
4. Deferred Scheduling
Allows schedules to used dbt defer to artifacts comparison:
5. Turbo CI Configuration
Configuration for CI pipelines:
6. API Configuration
Basic configuration when triggering Bolt via API:
For more details on Paradime APIs check our Developers guide.
7. Suspended State
Configuration for suspended jobs:
Notifications Configuration
Notifications can be configured for various events through multiple channels:
For Slack and MS Teams notifications, check our integrations guide:
Trigger integration
You can set up triggers to automate actions when runs complete. Trigger Settings allow you to connect Bolt to external tools and services, enabling automated workflows based on your pipeline execution results.
Example: Complete Configuration
Best Practices
Schedule Format
Use standard cron expressions for scheduling
โ Standard cron to define days 0-6
10 * * * 0-6: At minute 10 on every day-of-week from Sunday through Saturday.
โ Non-standard cron to define days 1-7
10 * * * 1-7: At minute 10 on every day-of-week from Monday through Sunday
Use
'OFF'to disable scheduled executionUse crontab.guru to validate your cron expressions
SLA Configuration
sla_minutesshould be set based on job complexityConsider dependencies when setting SLA
Recommended minimum: 30 minutes
Notification Configuration
Configure at least one notification channel
Include critical events (failed, SLA) in notifications
Use team channels for collaborative workflows
Make sure to set the Slack / MS Teams Channel or Email for System notifications. Check our guide here for Notifications Settingss
Paradime schedules terminal commands
Before running any of the following commands, navigate to your dbtโข๏ธ project directory where paradime_schedules.yml is located.
Validate File Format - This command checks the paradime_schedules.yml for formatting errors and outputs the result.
Run Schedule Locally - To run all defined schedules based on your local context: (ie. based on your development environment and your current branch).
Run Selected Schedule Locally - To run the named schedule based on your local context: (ie. based on your development environment and your current branch).
Dry run - To simulate all schedule executions without running dbtโข๏ธ models.
Dry run - To simulate the named schedule executions without running dbtโข๏ธ models.
Last updated
Was this helpful?