docs/v3/how-to-guides/deployment_infra/manage-work-pools.mdx
You can configure work pools by using the Prefect UI.
To manage work pools in the UI, click the Work Pools icon. This displays a list of currently configured work pools.
Select the + button to create a new work pool. You can specify the details about infrastructure created for this work pool.
import { CLI } from "/snippets/resource-management/cli.mdx" import { work_pools } from "/snippets/resource-management/vars.mdx"
<CLI name="work pools" href={work_pools.cli} />prefect work-pool create [OPTIONS] NAME
NAME is a required, unique name for the work pool.
Optional configuration parameters to filter work on the pool include:
<Tip> **Managing work pools in CI/CD**Version control your base job template by committing it as a JSON file to a git repository and control updates to your
work pools' base job templates with the prefect work-pool update command in your CI/CD pipeline.
For example, use the following command to update a work pool's base job template to the contents of a file named base-job-template.json:
```bash
prefect work-pool update --base-job-template base-job-template.json my-work-pool
```
prefect work-pool ls
prefect work-pool inspect 'test-pool'
prefect work-pool preview 'test-pool' --hours 12
prefect work-pool pause 'test-pool'
prefect work-pool resume 'test-pool'
prefect work-pool delete 'test-pool'
Set concurrency:
prefect work-pool set-concurrency-limit [LIMIT] [POOL_NAME]
Clear concurrency:
prefect work-pool clear-concurrency-limit [POOL_NAME]
View default base job template:
prefect work-pool get-default-base-job-template --type process
Example prefect.yaml:
deployments:
- name: demo-deployment
entrypoint: demo_project/demo_flow.py:some_work
work_pool:
name: above-ground
job_variables:
stream_output: false
For advanced use cases, create work pools with fully customizable job templates. This customization is available when
creating or editing a work pool on the 'Advanced' tab within the UI or when updating a work pool via the Prefect CLI.
Advanced customization is useful anytime the underlying infrastructure supports a high degree of customization.
In these scenarios a work pool job template allows you to expose a minimal and easy-to-digest set of options to deployment authors.
Additionally, these options are the _only_ customizable aspects for deployment infrastructure, which are useful for restricting
capabilities in secure environments. For example, the `kubernetes` worker type allows users to specify a custom job template
to configure the manifest that workers use to create jobs for flow execution.
See more information about [overriding a work pool's job variables](/v3/deploy/infrastructure-concepts/customize).
import { TF } from "/snippets/resource-management/terraform.mdx"
<TF name="work pools" href={work_pools.tf} />import { API } from "/snippets/resource-management/api.mdx"
<API name="work pools" href={work_pools.api} />