Detailed explanation and examples for this cron schedule pattern
Standard 5-field cron expression for Unix systems, crontab, and most platforms
0 9 1,15 * *6-field format with seconds for Java Quartz, Spring Boot, and enterprise applications
0 0 9 1,15 * ?0 9 1,15 * *minute hour day-of-month month day-of-week
0 0 9 1,15 * ?second minute hour day-of-month month day-of-week
0 0 9 1,15 * ? *second minute hour day-of-month month day-of-week year
0 9 1,15 * *Using month and day-of-week names where applicable
0 9 1,15 * * /path/to/commandStandard Unix crontab entry format
cron: '0 9 1,15 * *'GitHub Actions workflow schedule format
cron(0 9 1,15 \* \*)AWS CloudWatch Events cron expression format
0 9 1,15 * *Google Cloud Scheduler cron format
"schedule": "0 9 1,15 * *"Azure Functions cron format
cron: '0 9 1,15 * *'DigitalOcean App Platform cron format
schedule: "0 9 1,15 * *"Kubernetes CronJob schedule format
placement: { constraints: [node.role == manager] }
labels: { cron: "0 9 1,15 * *" }Docker Swarm service labels for cron scheduling
CronScheduleBuilder.cronSchedule("0 9 1,15 * *")Java Quartz scheduler format
cron.schedule('0 9 1,15 * *', function() {
  // Your code here
});Node.js node-cron library format
from crontab import CronTab
cron = CronTab(user='username')
job = cron.new(command='/path/to/command')
job.setall('0 9 1,15 * *')Python python-crontab library format
# config/packages/messenger.yaml
framework:
  messenger:
    transports:
      cron: '%env(MESSENGER_TRANSPORT_DSN)%'
        options:
          cron_expression: '0 9 1,15 * *'PHP Symfony Messenger cron expression format
This cron expression is composed of 5 time/date fields:
| Field | Value | Description | 
|---|---|---|
| Minute | 0 | 0 | 
| Hour | 9 | 9 | 
| Day of Month | 1,15 | 1,15 | 
| Month | * | Every month (1-12) | 
| Day of Week | * | Every day of the week (0-6, where 0 is Sunday) | 
In Quartz, we add a seconds field (and can replace * with ? in day-of-week):
| Field | Value | Description | 
|---|---|---|
| Second | 0 | 0 | 
| Minute | 0 | 0 | 
| Hour | 9 | 9 | 
| Day of Month | 1,15 | 1,15 | 
| Month | * | Every month (1-12) | 
| Day of Week | ? | Any value (no specific value) | 
AWS CloudWatch Events adds an optional year field:
| Field | Value | Description | 
|---|---|---|
| Minute | 0 | 0 | 
| Hour | 9 | 9 | 
| Day of Month | 1,15 | 1,15 | 
| Month | * | Every month (1-12) | 
| Day of Week | * | Every day of the week (0-6, where 0 is Sunday) | 
| Year (Optional) | * | Every year | 
Note that different systems interpret cron expressions slightly differently. The standard Unix format has 5 fields, while Quartz and AWS formats have additional fields. Some special characters like ?, L, W, and # are only supported in specific implementations.
This job runs on a custom schedule