> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tuneplane.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Scheduled tasks

> Background worker schedules, their run history, and running one now.

Administrators only. Every periodic job the platform runs for itself: dequeuing, diagnosis, the
watchdog, storage scans, registry reconciliation, the daily report.

![TunePlane scheduled tasks](https://mintcdn.com/starforge/uvmvPkp_ZhvHy6tN/images/console/tasks.png?fit=max\&auto=format\&n=uvmvPkp_ZhvHy6tN\&q=85\&s=417399a41ec4a4c0044a395c88975494)

Background task schedules and their run history.

## What you see

| Column | What it shows |
| - | - |
| **Schedule** | Fixed interval or cron expression, timezone, and the next trigger |
| **Enabled** | Whether it runs at all |
| **Last run** | When, how long it took, and whether it succeeded |
| **Trigger** | Whether that run was scheduled or started by hand |

## What you can do

* **Edit schedule** to choose a fixed interval or cron expression. Internal coordination loops remain interval-only.
* **Turn a task off.**
* **Run now** — useful after changing a setting the task reads, rather than waiting out its interval.
* **Read the history** — recent runs with outcome and duration.

## Fixed interval or cron

Use a fixed interval for recurring checks, such as every 60 seconds. Use cron
for calendar times, such as `0 2 * * *` at 02:00 every day or `0 9 * * MON-FRI`
at 09:00 on weekdays. Choose an IANA timezone such as `Asia/Shanghai`; the default
is `UTC`. Expressions have five fields: minute, hour, day, month, weekday.
Lists, ranges, steps, and three-letter month/weekday names are supported.

Missed triggers during downtime are combined into one run. A task already queued
or running prevents another scheduled invocation. The next trigger is an enqueue
time; a busy worker pool can start execution later. To stop a task without an
enable switch, select fixed interval and set it to zero.

Cron skips nonexistent local times during a daylight-saving jump; repeated local
times are separate UTC occurrences. Daily reports still produce one report per
reporting period, even if their cron expression triggers more often.

## Two banners worth understanding

> **Single instance without Redis**
>
> In-process development can run without Redis. Standalone consumers and the
> controller require Redis; do not use the development mode for replica scaling.

> **Workers run in a separate process**
>
> The controller discovers periodic work and workers consume it. Run now queues
> a durable request instead of running heavy work in the API. The page shows
> queued work before execution begins, then records the run and its outcome.
> If work is waiting, check the shared consumer pool and backlog; no per-role
> worker assignment is needed.

## Import execution

Hub and Volume imports are durable work items consumed by the shared worker
pool. The periodic import tasks reconcile their status; their run duration is
not the duration of every transfer. Imports into different destinations can run
concurrently, subject to the pool-wide I/O budget. A Volume import becomes
visible after its prepared files are published together.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.