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

# Pausing

> Stop a service on demand or on a timer without tearing it down.

Pausing scales one service to zero replicas and leaves everything else in place: its
config, image, disks, secrets and public host all stay. Coming back needs no rebuild.

Pause is set per service, so you can pause a background worker while its web sibling keeps
serving.

## Pause and start

On the service's page, next to **Deploy**:

| Action | What it does |
| - | - |
| Pause | Scales the service to zero immediately. The status pill reads `paused`, and requests to a paused web service fail until you start it. A paused service is left alone by [sleep on idle](/deploys/sleep): it is not put to sleep and a request does not wake it. |
| Start | Scales it back to its deploy-time replica count and restarts its idle clock, if it sleeps on idle. |

Pause is a live action rather than saved configuration. The next deploy, whether from a
push or a manual **Deploy**, brings the service back up. Pause a service to stop it now;
redeploy when you want to resume the normal lifecycle.

Databases pause the same way: the cluster hibernates with its disk and credentials intact,
and **Start** brings it back with the same data. Static sites have nothing running, so they
have no Pause.

## Pausing a cron job

A cron job (`type: cron`) has no resident pods, so **Pause** stops its schedule
instead. While it is paused, no scheduled runs start, the job's Overview shows it as paused
in place of its next run, and its run history stays as it was. A run that was already in
progress when you paused finishes normally.

Unlike pausing other services, a cron pause survives deploys: a push does not resume a job you
stopped. **Start** resumes it from the next scheduled slot, and the slots missed while it was
paused are not run. **Run now** still works while it is paused.

> [!NOTE]
>
> Pausing a service that others depend on breaks those siblings while it is down. Pause leaf
> services, or pause a group together.

## Auto-pause on a timer

To shut a service down after it has been running for a while, set an auto-pause schedule
from the Deploy menu. This suits a demo that should stop itself, or a service you do not
want billing overnight.

* Pick a duration. The service scales to zero once it has been continuously live that long.
* The clock measures uptime since the last rollout, so a deploy or a manual **Start** resets
  it and a freshly deployed service always gets its full window.
* Nothing is destroyed. A deploy or **Start** brings it back and restarts the timer.
* Set the value to `0` to turn the schedule off.

## Auto-pause or sleep

Both scale a service to zero, and a service can use one or the other, never both.

| | Auto-pause | [Sleep on idle](/deploys/sleep) |
| - | - | - |
| Clock measures | Uptime since the last rollout | Time since the last request |
| Comes back | When you start it or deploy | Automatically, on the next request |
| Works on | Any resident service | Only a web service with a public port |

Choose auto-pause when you want something to stop and stay stopped. Choose sleep when you
want it to come back by itself.

Cron services have no resident pods, so neither applies to them. To stop a cron job, pause
it as described in [Pausing a cron job](#pausing-a-cron-job).


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