Scheduler - amitsri/rostyman-releases GitHub Wiki

Scheduler

Run requests or collections automatically on a schedule — fully local, no cloud, no limits.

Opening the Scheduler

Click the Scheduler (clock icon) in the left sidebar.

Creating a Scheduled Job

  1. Click New Job
  2. Select target — use the searchable tree picker to choose a request, folder, or collection
  3. Select environment — choose which environment's variables to use (or use the collection's active environment)
  4. Set frequency — use a preset or write a custom cron expression
  5. Choose timezone — 30+ timezones available (UTC, US, EU, Asia, APAC, Africa)
  6. Configure options — max retries (0–5), timeout (default: 30s)
  7. Click Save

Frequency Presets

Preset Cron
Every 1 minute * * * * *
Every 5 minutes */5 * * * *
Every 15 minutes */15 * * * *
Every 30 minutes */30 * * * *
Every hour 0 * * * *
Every 6 hours 0 */6 * * *
Every 12 hours 0 */12 * * *
Daily 0 0 * * *
Weekly 0 0 * * 0

Or enter any valid cron expression for custom schedules.

Managing Jobs

The job list shows:

  • Enable/disable toggle — pause a job without deleting it
  • Name — job label
  • Target — request method + name
  • Schedule — human-readable frequency
  • Last run — status and timestamp

Status Indicators

Status Color Meaning
Never run Gray Job hasn't executed yet
Success Green Last run passed
Failed Red Last run had errors
Running Yellow Currently executing
Timeout Orange Execution exceeded timeout

Variable Resolution

The scheduler resolves {{variables}} in URLs, headers, params, and body before execution. Variables are resolved in priority order:

  1. Environment variables (from the job's selected environment, or the collection's active environment)
  2. Collection variables
  3. Global variables

If a variable cannot be resolved, the job fails with a clear error message showing which variable is missing.

Console Integration

All scheduler runs appear in the Console panel (bottom of the app) under the Scheduler tab. Each entry shows:

  • Method, resolved URL, status code, response time
  • Job name badge
  • Full request/response headers and body (expandable)

How It Works

  • Uses node-cron running locally in the Electron main process
  • Executes requests with full variable resolution
  • HTTP responses with status >= 400 are marked as failures
  • No external server or infrastructure needed
  • Jobs persist across app restarts