Understanding Schedules
Schedules in AWX:- Use RRULE (Recurrence Rule) format from RFC5545
- Support complex patterns (daily, weekly, monthly, etc.)
- Can be attached to multiple resource types
- Respect timezone specifications
- Support both one-time and recurring execution
Schedulable Resources
Job Templates
Schedule playbook execution
Project Updates
Schedule SCM syncs
Inventory Sources
Schedule inventory synchronization
Workflow Templates
Schedule workflow execution
RRULE Format
Schedules use DTSTART (start date/time) and RRULE (recurrence rule):RRULE Components
- DTSTART: Start date and time (required)
- FREQ: Frequency (MINUTELY, HOURLY, DAILY, WEEKLY, MONTHLY, YEARLY)
- INTERVAL: Interval between occurrences
- COUNT: Number of occurrences (optional)
- UNTIL: End date/time (optional)
- BYDAY: Days of week (MO, TU, WE, TH, FR, SA, SU)
- BYMONTH: Months (1-12)
- BYMONTHDAY: Days of month (1-31)
- BYHOUR: Hours (0-23)
- BYMINUTE: Minutes (0-59)
Creating Schedules
Simple Daily Schedule
- Web UI
- API
- Ansible
- Navigate to your job template/project/inventory source
- Click the Schedules tab
- Click Add
- Configure:
- Name: Schedule name
- Start Date/Time: When to start
- Timezone: Local timezone
- Frequency: Daily, Weekly, etc.
- Interval: Every N days/weeks
- Click Save
Common Schedule Examples
Every Day at 2 AM UTC
Every Weekday at 6 PM
Every Week on Monday at 8 AM
Every 2 Weeks on Monday and Thursday
Every Month on the 1st at Midnight
Every 3 Months on the 15th
Last Saturday of Every Month
Every 15 Minutes
Every Hour During Business Hours (9 AM - 5 PM)
First Monday of Every Month
Advanced Scheduling
Limited Occurrence Count
Run 10 times then stop:With End Date (UNTIL)
Run until a specific date:When using UNTIL, the datetime must be in UTC (Z suffix) regardless of the DTSTART timezone.
Exclusion Rules (EXRULE)
For exclusions, create multiple schedules or use external orchestration.Timezone Handling
UTC Timezone
Use theZ suffix for UTC times:
Local Timezone
UseTZID parameter:
Available Timezones
Get list of valid timezone identifiers:America/New_York(US Eastern)America/Chicago(US Central)America/Denver(US Mountain)America/Los_Angeles(US Pacific)Europe/LondonEurope/ParisAsia/TokyoAustralia/Sydney
Previewing Schedules
Preview the next 10 occurrences:Schedule with Extra Variables
Pass variables when the schedule runs:Managing Schedules
List All Schedules
Enable/Disable Schedule
- API
- Ansible
Update Schedule
Delete Schedule
Multiple Schedules
A single job template can have multiple schedules:Schedule for Different Resources
Job Template Schedule
Project Update Schedule
Inventory Source Schedule
Workflow Template Schedule
RRULE Limitations in AWX
AWX enforces these constraints:Monitoring Scheduled Jobs
View Next Run Time
View Recent Scheduled Jobs
Best Practices
Use Appropriate Intervals
Don’t schedule jobs too frequently - consider resource impact and job duration
Set Timeouts
Configure job timeouts to prevent long-running scheduled jobs from blocking
Monitor Failures
Set up notifications for scheduled job failures
Use Local Timezones
Use TZID for business-hours schedules to handle daylight saving time
Troubleshooting
Schedule not running at expected time
Schedule not running at expected time
Check:
- Schedule is enabled (
"enabled": true) - DTSTART is in the future
- Timezone is correct
- AWX scheduler service is running
Invalid RRULE error
Invalid RRULE error
Common issues:
- Missing INTERVAL in RRULE
- Invalid DTSTART format
- Using prohibited features (RDATE, EXDATE, BYDAY=1MO)
- COUNT and UNTIL both specified
Scheduled jobs skip occurrences
Scheduled jobs skip occurrences
Possible causes:
- Previous job still running (if simultaneous = false)
- Instance capacity exhausted
- Job template was modified/disabled
Timezone not working as expected
Timezone not working as expected
Ensure:
- Using valid TZID from
/api/v2/schedules/zoneinfo/ - TZID syntax:
DTSTART;TZID=America/New_York:20260115T120000 - Note: No Z suffix when using TZID
- UNTIL must still be in UTC (with Z suffix)
Complex Scheduling Scenarios
Business Days Only
Quarterly on First Monday
Every 4 Hours During Work Days
Twice a Month (1st and 15th)
Related Resources
Job Templates
Create job templates to schedule
Workflows
Schedule complex workflows
Notifications
Get notified about scheduled job results
RFC5545 Specification
Full RRULE specification reference