Devtools.supstudio.in

Tools/Cron

Cron for every 15 minutes, 9am to 5pm, weekdays

*/15 9-17 * * 1-5

Every 15 minutes, between 09:00 AM and 05:59 PM, Monday through Friday

Open in builder

What this schedule does

*/15 9-17 * * 1-5 is a common CI heartbeat during office hours. It stays quiet overnight and on weekends without a feature flag.

Next 5 runs (UTC)

Times below are computed for UTC. Open the builder to preview another timezone.

  1. Thu, 20 Aug 2026, 17:45 UTC
  2. Fri, 21 Aug 2026, 09:00 UTC
  3. Fri, 21 Aug 2026, 09:15 UTC
  4. Fri, 21 Aug 2026, 09:30 UTC
  5. Fri, 21 Aug 2026, 09:45 UTC

Copy-paste snippets

GitHub Actions

UTC only. Quote the expression so YAML keeps the stars.

on:
  schedule:
    - cron: '*/15 9-17 * * 1-5'

Kubernetes

CronJob spec.schedule. Kubernetes uses the timezone of the kube-controller-manager unless you set .spec.timeZone.

apiVersion: batch/v1
kind: CronJob
metadata:
  name: job
spec:
  schedule: "*/15 9-17 * * 1-5"
  jobTemplate:
    spec:
      template:
        spec:
          restartPolicy: OnFailure
          containers:
            - name: job
              image: busybox
              args: ["echo", "run"]

AWS EventBridge

Six fields: minutes hours day-of-month month day-of-week year. Use ? in either day-of-month or day-of-week.

cron(*/15 9-17 ? * 1-5 *)

Quartz

Quartz is seconds-first (6 or 7 fields). Day-of-week names are MON, TUE, … and ? is required in one of the day fields.

0 */15 9-17 * * 1-5

Vercel Cron

{
  "crons": [
    {
      "path": "/api/cron",
      "schedule": "*/15 9-17 * * 1-5"
    }
  ]
}

crontab

*/15 9-17 * * 1-5 /usr/local/bin/job

node-cron

import cron from 'node-cron';

cron.schedule('*/15 9-17 * * 1-5', () => {
  // job
});

Spring @Scheduled

Spring uses 6 fields by default (seconds first) unless you set spring.task.scheduling.cron.expression.

@Scheduled(cron = "0 */15 9-17 * * 1-5")
public void run() {
    // job
}

Related schedules

Platform guides