# Scheduler

The Scheduler triggers automatic playback actions at specific times of day or on a recurring schedule — useful for permanent installations, digital signage, and automated broadcast playout.

The Scheduler view features a **visual timeline** with real-time updates: progress bars show elapsed time on running schedules, countdown timers show when the next event fires, and colour-coded status indicators (blue = pending, orange = imminent ≤ 30 min, green = executed, red = overdue) give immediate situational awareness. A **calendar view** is also available for a monthly overview of all scheduled events.

## Accessing the Scheduler

Switch to the **📅 Schedule** tab in the Control View (`/control`), or open it from the Sub-header in the Main Editor.

## Scheduled Events

Each scheduled event has:

| Property    | Description                            |
| ----------- | -------------------------------------- |
| **Name**    | Label for the event                    |
| **Trigger** | Time of day (HH:MM:SS)                 |
| **Days**    | Which days of the week the event fires |
| **Action**  | What to do (see below)                 |
| **Enabled** | Toggle the event without deleting it   |

## Actions

| Action                  | Description                                       |
| ----------------------- | ------------------------------------------------- |
| `Load and play project` | Open a `.vpp` file and start playback             |
| `Play composition`      | Play the named composition in the current project |
| `Stop`                  | Stop all playback                                 |
| `Fade to black`         | Fade all outputs to black                         |
| `Fire cue`              | Execute a specific cue by name or number          |

## Example: Digital Signage Loop

* `08:00` Mon–Fri → `Play composition: Morning_Loop`
* `18:00` Mon–Fri → `Fade to black`
* `09:00` Sat–Sun → `Play composition: Weekend_Loop`
* `22:00` Sat–Sun → `Stop`

## Scheduler and Auto-Heal

Scheduled events persist across restarts. If the system crashes and Auto-Heal restores it, the Scheduler resumes normally and fires the next pending event at the correct time.

## Visual Timeline Features

### Live Clock

The Scheduler view shows a live **current date/time** display, updated every second.

### Countdown Timers

For imminent schedules (within 30 minutes), a countdown timer shows exactly how long until the event fires — e.g. `15m 23s`.

### Status Colours

| Colour    | Meaning                                                                     |
| --------- | --------------------------------------------------------------------------- |
| 🔵 Blue   | Pending — scheduled for the future                                          |
| 🟠 Orange | Imminent — fires within 30 minutes (pulses to draw attention)               |
| 🟢 Green  | Executed — already fired successfully                                       |
| 🔴 Red    | Overdue — past the scheduled time but did not fire (engine was not running) |

### Quick Filters

Use the **All / Pending / Executed** filter buttons to show only the events you are interested in.

### Calendar View

Switch between **Timeline** and **Calendar** using the toggle buttons in the Scheduler header. The calendar view displays a monthly grid with colour-coded cue chips on each day. Navigate between months with the **◀ / ▶** arrows, or jump back to the current month with the **Today** button. Your chosen view mode is remembered across sessions.

## Timezone

The Scheduler uses the **Windows system clock** and timezone. Ensure the operating system clock is set correctly and synchronised (NTP recommended for time-critical installations).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.exaplay.one/v3/features/scheduler.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
