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

# Pause a Maia runner

export const m_runner = "Maia runner";

export const designer = "Designer";

export const maia = "Maia";

export const RunnerMetadata = ({runnerType, platforms = []}) => {
  return <div style={{
    background: 'var(--colors-background-light, #f9fafb)',
    border: '1px solid var(--colors-border-default, #e5e7eb)',
    borderRadius: '12px',
    padding: '20px 28px',
    marginBottom: '28px'
  }}>
      <table style={{
    width: '100%',
    borderCollapse: 'collapse'
  }}>
        <tbody>
          <tr>
            <td style={{
    fontWeight: '600',
    paddingRight: '32px',
    paddingBottom: '14px',
    whiteSpace: 'nowrap',
    verticalAlign: 'middle',
    width: '180px'
  }}>Runner type</td>
            <td style={{
    paddingBottom: '14px',
    verticalAlign: 'middle'
  }}>{runnerType}</td>
          </tr>
          <tr>
            <td style={{
    fontWeight: '600',
    paddingRight: '32px',
    whiteSpace: 'nowrap',
    verticalAlign: 'middle'
  }}>Runner platform</td>
            <td style={{
    verticalAlign: 'middle'
  }}>
              <div style={{
    display: 'flex',
    flexWrap: 'wrap',
    gap: '8px'
  }}>
                {platforms.map((platform, i) => <span key={i} style={{
    background: '#dcfce7',
    color: '#15803d',
    border: '1px solid #bbf7d0',
    borderRadius: '9999px',
    padding: '3px 12px',
    fontSize: '0.85rem',
    fontWeight: '500',
    whiteSpace: 'nowrap'
  }}>
                    {platform} ✅
                  </span>)}
              </div>
            </td>
          </tr>
        </tbody>
      </table>
    </div>;
};

<RunnerMetadata runnerType={`${maia} Hybrid`} platforms={["AWS", "Azure", "Google Cloud", "Snowflake"]} />

There are times when you need to perform maintenance work on a {m_runner}, such as upgrading the version or updating the configuration to add new drivers, but you have running pipelines that you can't allow to fail. In these cases, you can pause the {m_runner}, which gracefully puts it into a safe state to be worked on.

Pausing a {m_runner} will allow it to finish outstanding pipeline tasks before entering a **Paused** state. Any running or submitted pipelines destined for the {m_runner} during this **Paused** state will still be shown as active, and any new tasks from those pipelines will be safely queued until the {m_runner} is resumed after the **Paused** state.

While the {m_runner} is paused, {maia} users can continue to interact with the [pipeline](/docs/guides/pipelines) canvas in {designer}.

***

## Pausing a Maia runner

1. On the **Runners** list, locate the {m_runner} you want to pause and click the three dots **...**.
2. Click **Pause runner**.
3. Type `pause runner` in the dialog, to confirm you understand the implications of the action, and then click **Pause Runner** again.

When paused, the {m_runner} first enters a **Pausing** state, during which it will complete any pipeline tasks it's *currently* executing. Once those tasks are completed, it moves to a **Paused** state and any queued tasks will be held in the queue until the {m_runner} is resumed.

If tasks are executing within a [Transaction](/docs/guides/transactions), the entire transaction will complete before the {m_runner} enters a **Paused** state.

<Note>
  To be clear: it is individual tasks in progress that are completed, not the entire running pipeline. The pipeline will not progress any further until the {m_runner} resumes and its remaining queued tasks can be executed. The pipeline duration shown in the [Pipeline run history](/docs/guides/pipeline-run-history) will include any time that the pipeline spent waiting for a paused {m_runner} to resume.
</Note>

***

## Restarting a paused Maia runner

When paused, the {m_runner} can be safely restarted on the cloud provider, as described in [Restart a {m_runner}](/docs/guides/restart-runner).

<Note>
  When a paused {m_runner} is restarted on the cloud provider, the {m_runner} status will remain **Paused** until the queue automatically resumes or you manually resume the {m_runner}, as described below.
</Note>

***

## Resuming a paused Maia runner

1. On the **Runners** list, locate the {m_runner} you want to resume and click the three dots **...**.
2. Click **Resume runner**.
3. Click **Yes resume** to confirm.

If a {m_runner} is left in a **Paused** state for 12 hours, it will automatically resume.

A resumed {m_runner}'s status will be as follows:

* If the {m_runner} is actively connected and available, the resumed {m_runner} status will be **Running** and it will begin to execute queued tasks.
* If the {m_runner} was stopped during the pause and was never restarted, the resumed {m_runner} status will be **Stopped**.
* If the {m_runner} was taken offline, not gracefully stopped during the pause, and never restarted, the resumed {m_runner} status will be **Unknown**.

If a resumed {m_runner} is **not** in a running state, then any pipelines that had tasks queued during the pause will time out after 15 minutes of the {m_runner} resuming, and the pipelines affected will be updated accordingly.
