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
- Click New Job
- Select target — use the searchable tree picker to choose a request, folder, or collection
- Select environment — choose which environment's variables to use (or use the collection's active environment)
- Set frequency — use a preset or write a custom cron expression
- Choose timezone — 30+ timezones available (UTC, US, EU, Asia, APAC, Africa)
- Configure options — max retries (0–5), timeout (default: 30s)
- 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:
- Environment variables (from the job's selected environment, or the collection's active environment)
- Collection variables
- 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-cronrunning 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