Skip to main content

Documentation Index

Fetch the complete documentation index at: https://budecosystem-b7b14df4.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

Overview

Schedule pipelines to run automatically at specific times using cron expressions. Perfect for recurring tasks like daily model updates, nightly deployments, or weekly cleanups.

Creating a Schedule

In the UI

  1. Open your pipeline
  2. Click the Triggers tab
  3. Click Add Schedule
  4. Configure:
    • Name: “Daily Model Sync”
    • Cron Expression: 0 2 * * *
    • Enabled: Toggle on
  5. Click Save

Using the SDK

from bud import BudClient

client = BudClient()

# Create a scheduled trigger
schedule = client.schedules.create(
    pipeline_id="pipe_abc123",
    name="Daily Model Sync",
    cron_expression="0 2 * * *",
    enabled=True
)

print(f"Schedule created: {schedule.id}")

Common Cron Patterns

PatternDescriptionExample Use Case
0 * * * *Every hourHourly health checks
0 0 * * *Daily at midnightDaily backups
0 2 * * *Daily at 2 AMNightly model updates
0 0 * * 0Weekly on SundayWeekly cleanup
0 0 1 * *Monthly on 1stMonthly reports
*/15 * * * *Every 15 minutesFrequent monitoring

Managing Schedules

Pause a Schedule

# Pause temporarily
client.schedules.pause(schedule_id="sched_xyz789")
In the UI: Click Pause button on the schedule.

Resume a Schedule

# Resume execution
client.schedules.resume(schedule_id="sched_xyz789")

Trigger Manually

Run a scheduled pipeline immediately without waiting:
# Trigger right now
client.schedules.trigger(schedule_id="sched_xyz789")

Example: Nightly Model Deployment

Create a pipeline that deploys updated models every night at 2 AM:
from bud import BudClient

client = BudClient()

# Create pipeline
pipeline = client.pipelines.create(
    name="Nightly Model Deployment",
    definition={
        "steps": [
            {
                "id": "add_model",
                "action": "model_add",
                "params": {
                    "model_uri": "org/model-name",
                    "model_source": "hugging_face"
                }
            },
            {
                "id": "deploy",
                "action": "deployment_create",
                "params": {
                    "model_id": "{{steps.add_model.output.model_id}}",
                    "cluster_id": "cluster_prod"
                },
                "depends_on": ["add_model"]
            }
        ]
    }
)

# Schedule it
schedule = client.schedules.create(
    pipeline_id=pipeline.id,
    cron_expression="0 2 * * *",  # 2 AM daily
    enabled=True
)

Best Practices

Use Off-Peak Hours: Schedule resource-intensive tasks during low-traffic periods
Add Notifications: Configure alerts for schedule failures
Test First: Run manually before enabling the schedule
Monitor Execution: Check run history regularly
Set Timeouts: Prevent long-running schedules from overlapping

Troubleshooting

Cause: Schedule is paused or cron expression is incorrectSolution: Verify schedule is enabled and test cron pattern at crontab.guru
Cause: Previous execution hasn’t finished when next one startsSolution: Increase schedule interval or optimize pipeline performance
Cause: Resource contention or dependency unavailableSolution: Check execution logs, adjust schedule timing

Next Steps

Pipeline Concepts

Learn about DAGs and actions

Troubleshooting

Common issues and solutions