UI Guide

Scheduled Tasks

Create and manage cron jobs and scheduled tasks for your deployments.

The Scheduler allows you to create recurring tasks for your deployments, including automated backups, commands, and maintenance tasks.

Scheduler Overview

The main scheduler view shows all configured tasks:

  • Name — Task identifier
  • Deployment — Associated deployment (or global)
  • Schedule — Cron expression
  • Next Run — Upcoming execution time
  • Last Run — Previous execution and status
  • Status — Enabled or disabled

Creating a Scheduled Task

  1. Click "New Task"
  2. Configure the task:
    • Name — Descriptive task name
    • Deployment — Target deployment (or leave empty for global)
    • Task Type — Type of action to perform
    • Schedule — When to run (cron expression)
    • Description — Additional notes (optional)
  3. Click "Create"

Task Types

Type Description
Backup Create a deployment backup
Command Execute a shell command in a container
Restart Restart the deployment
Cleanup Clean logs, cache, or temporary files
Health Check Verify deployment health

Cron Expression Format

Schedules use standard cron syntax with five fields:

┌───────────── minute (0 - 59)
│ ┌───────────── hour (0 - 23)
│ │ ┌───────────── day of month (1 - 31)
│ │ │ ┌───────────── month (1 - 12)
│ │ │ │ ┌───────────── day of week (0 - 6, Sunday = 0)
│ │ │ │ │
* * * * *

Common Schedules

Expression Description
0 2 * * * Daily at 2:00 AM
0 */6 * * * Every 6 hours
0 0 * * 0 Weekly on Sunday at midnight
0 0 1 * * Monthly on the 1st at midnight
*/15 * * * * Every 15 minutes
0 9-17 * * 1-5 Hourly 9 AM-5 PM, Mon-Fri

Schedule Builder

Use the visual schedule builder to create cron expressions without memorizing the syntax:

  1. Select frequency (hourly, daily, weekly, monthly)
  2. Choose specific times or intervals
  3. The cron expression is generated automatically

Backup Tasks

Schedule automatic backups for a deployment:

  1. Create a new task
  2. Select type "Backup"
  3. Choose the deployment
  4. Set the schedule (e.g., 0 2 * * * for daily at 2 AM)
  5. Configure backup options:
    • Include files
    • Include database
    • Retention count

Command Tasks

Execute commands inside a deployment container on a schedule:

  1. Create a new task
  2. Select type "Command"
  3. Choose the deployment and service
  4. Enter the command to execute
  5. Set the schedule
Example: Clear Laravel cache daily:
php artisan cache:clear && php artisan view:clear

Running Tasks Manually

Execute a scheduled task immediately:

  1. Find the task in the list
  2. Click the play icon (▶) or "Run Now"
  3. View execution in the history

Enabling/Disabling Tasks

Toggle tasks on or off without deleting them:

  • Use the toggle switch in the task list
  • Or edit the task and change the status

Disabled tasks retain their configuration but won't execute.

Execution History

View past executions for any task:

  1. Click on a task to view details
  2. Go to the "History" tab
  3. See past executions with:
    • Start/end times
    • Duration
    • Status (success/failed)
    • Output logs

Execution Status

Status Description
Success Task completed successfully
Failed Task encountered an error
Timeout Task exceeded time limit
Skipped Task was skipped (previous still running)

Editing Tasks

  1. Click on the task to open details
  2. Click "Edit"
  3. Modify settings
  4. Save changes

Deleting Tasks

  1. Select the task
  2. Click the delete icon or "Delete"
  3. Confirm deletion
Note: Deleting a task also removes its execution history.

Global vs Deployment Tasks

Deployment Tasks

Tasks associated with a specific deployment. These tasks:

  • Execute in the deployment's context
  • Are deleted if the deployment is removed
  • Show in the deployment's scheduler tab

Global Tasks

Tasks not tied to any deployment. Use these for:

  • System maintenance
  • Log cleanup across all deployments
  • Global health checks

Task Notifications

Configure notifications for task execution:

  • On Failure — Notify when a task fails
  • On Success — Notify on completion
  • Always — Notify on every execution

Best Practices

  • Off-peak scheduling — Run intensive tasks during low-traffic hours
  • Stagger tasks — Don't schedule multiple backups at the same time
  • Monitor failures — Check execution history regularly
  • Test manually first — Run tasks manually before scheduling
  • Set reasonable timeouts — Prevent tasks from running indefinitely

Keyboard Shortcuts

Shortcut Action
n Create new task
r Refresh task list