Skip to content

Pipeline Has Stopped Running

Use this runbook if no flows have run on their expected schedule - for example, it is the 3rd of the month and none of the 1st-of-month flows have a recent entry in the Prefect UI.


Step 1 - Confirm that flows have not run

Open the Prefect UI at http://localhost:4200 and click Flow Runs. Filter by date. If there are no recent runs, continue to Step 2.

You can also check the database:

SELECT dataset_code, extraction_status, created_at
FROM dataset_metadata
ORDER BY created_at DESC
LIMIT 10;

If the most recent entries are from a previous month, the pipeline is not running.


Step 2 - Check the Prefect worker is running

The Prefect worker is a process that runs on the VM and picks up scheduled flow runs. If it has stopped, no flows will run.

Connect to the production VM:

ssh <your_username>@yhoda-prod.shef.ac.uk

Check whether the worker process is running:

ps aux | grep "prefect worker"

If you see no output (other than the grep line itself), the worker is not running.


Step 3 - Restart the worker

Start the worker on the VM:

cd /path/to/YHODA
uv run prefect worker start --pool yhovi-default

Leave this running in a terminal session. If you are working over SSH and want the process to persist after you disconnect, attach it to a screen or tmux session.

Check the Prefect UI - within a few minutes, any overdue scheduled runs should begin.


Step 4 - Check the work pool

In the Prefect UI, click Work Pools in the left sidebar. The yhovi-default pool should show as Ready. If it shows as Paused, click on it and unpause it.


Step 5 - Check the deployments are registered

In the Prefect UI, click Deployments. You should see all 15 deployments listed. If any are missing, re-register them from the VM:

uv run prefect deploy --all --no-prompt