How schedules work
Autoscaling defaults to the configuration values you set on the environment. To vary those values by time of day or day of week, define up to 10 schedules, each pairing a recurring window with its own set of autoscaling settings. The schedule whose window covers the current time is the one in effect. A schedule’s window runs on one of three cadences:- Daily: one window a day, between a start and end time, on the days you choose, such as
09:00to18:00on Monday through Friday. - Hourly: a window in every hour, optionally limited to a range of hours, such as
:55to:20during hours09to17. - One time: a single window between two absolute date-times, such as September 1 at
09:00to13:00. Use one-time schedules for planned events like launches, load tests, and migrations. The window does not repeat, and the schedule stops applying when it ends.
09:00 to 17:00 window, 09:00 is inside and 17:00 is not. A recurring end time at or before the start wraps past midnight, so a 22:00 to 06:00 window covers the overnight hours. Every schedule on an environment shares one timezone, set once for the whole set. Recurring times are local to it; one-time windows accept any timezone offset and convert to UTC.
Configure a schedule
You configure schedules per environment, from the same dialog as the rest of your autoscaling settings. To add an autoscaling schedule:- Sign in to your workspace at app.baseten.co and choose Dedicated Inference in the sidebar.
- Select your model, then select the deployment for the environment you want to schedule.
- Choose Configure autoscaling.
- For Config to edit, choose Schedules.
-
Choose Add schedule, then set its window and replicas:
- For Frequency, choose Daily, Hourly, or One time.
- For a daily or hourly schedule, select the days it runs under On days, then set Starts at and Ends at. For an hourly schedule, use Limit to hours to restrict which hours it runs in.
- For a one-time schedule, set the Schedule window start and end date-times.
- Set Min and Max replicas for the window. To override the remaining autoscaling settings, choose More options.
- Choose Save.
A start time is the earliest the settings change, not a promise that replicas are ready to serve. If the deployment can’t take the change right then, because it’s deploying, loading a model, mid rolling promotion, or migrating, Baseten applies it as soon as it can.
Validation
Saving fails if any schedule breaks one of these rules:- Count: up to 10 schedules per environment. Expired one-time schedules don’t count.
- Window length: at least 5 minutes, long enough to scale up and back down. A one-time window can span at most 48 hours, including back-to-back chains of one-time schedules.
- Overlap: two windows can’t cover the same time.
- Gaps: windows either touch exactly or leave at least 5 minutes between them.
- Coverage: schedules can’t fill the entire week, so the default configuration always has time to run.
- Timezone: one shared timezone per environment.
- One-time start: a new one-time schedule must start in the future. You can still edit an existing one-time schedule after its window starts.
- One-time horizon: a one-time window can end at most 90 days in the future.
05:40 to 09:00 window can hand straight to a 09:00 to 18:00 window with no gap and no return to the default in between.
Edit or remove a schedule
Changes to the schedule that’s currently running apply immediately, not at its next start. Disabling or removing it falls back to the default, or to another schedule whose window covers the current time. To edit, rename, duplicate, disable, or remove a schedule:- Sign in to your workspace at app.baseten.co and choose Dedicated Inference in the sidebar.
- Select your model, then select the deployment for the environment.
- Choose Configure autoscaling.
- For Config to edit, choose Schedules.
-
Expand the schedule and make your changes:
- To rename, duplicate, or remove it, use the actions menu on its header.
- To pause it without removing it, use the Enabled switch.
- Choose Save.
Manage schedules from the API
The Update environment endpoint manages the same schedule collection. Each entry inschedules is a complete create or replacement: include a schedule’s id to replace it, or omit id to create a new one. Schedules you leave out of the list stay unchanged, and deletion stays explicit through delete_schedules.
PATCH /v1/models/{model_id}/environments/{env_name}
cadence field selects the timing shape: DAILY and HOURLY take the weekday and time-of-day fields, while ONE_TIME takes start_at and end_at. Every autoscaling_settings field is required; set a field to null to follow the environment’s current value. One-time date-times must include a timezone offset, and Baseten converts them to UTC.
The PATCH response reports the requested state, and schedule application reconciles asynchronously. Poll Get environment to confirm the applied settings.
Next steps
Traffic patterns
Match autoscaling settings to the shape of your traffic.
Cold starts
Shrink the time between a scale-up and a served request.
Environments
Understand the environments that schedules attach to.
Scale a deployment
Apply autoscaling changes to a live deployment from a script.