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
- Click "New Task"
- 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)
- 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:
- Select frequency (hourly, daily, weekly, monthly)
- Choose specific times or intervals
- The cron expression is generated automatically
Backup Tasks
Schedule automatic backups for a deployment:
- Create a new task
- Select type "Backup"
- Choose the deployment
- Set the schedule (e.g.,
0 2 * * *for daily at 2 AM) - Configure backup options:
- Include files
- Include database
- Retention count
Command Tasks
Execute commands inside a deployment container on a schedule:
- Create a new task
- Select type "Command"
- Choose the deployment and service
- Enter the command to execute
- Set the schedule
php artisan cache:clear && php artisan view:clear Running Tasks Manually
Execute a scheduled task immediately:
- Find the task in the list
- Click the play icon (▶) or "Run Now"
- 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:
- Click on a task to view details
- Go to the "History" tab
- 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
- Click on the task to open details
- Click "Edit"
- Modify settings
- Save changes
Deleting Tasks
- Select the task
- Click the delete icon or "Delete"
- Confirm deletion
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 |