# Processing Pipelines

> For the complete documentation index, see [llms.txt](https://docs.redpanda.com/llms.txt). Component-specific: [connect-full.txt](https://docs.redpanda.com/connect-full.txt)

---
title: Processing Pipelines
latest-connect-version: 4.93.0
latest-operator-version: v26.1.4
latest-console-tag: v3.7.3
latest-redpanda-tag: v26.1.9
docname: processing_pipelines
page-component-name: connect
page-version: master
page-component-version: master
page-component-title: Connect
page-relative-src-path: processing_pipelines.adoc
page-edit-url: https://github.com/redpanda-data/rp-connect-docs/edit/main/modules/configuration/pages/processing_pipelines.adoc
page-git-created-date: "2024-05-24"
page-git-modified-date: "2024-09-05"
---

<!-- Source: https://docs.redpanda.com/connect/configuration/processing_pipelines.md -->

Within a Redpanda Connect configuration, in between `input` and `output`, is a `pipeline` section. This section describes an array of [processors](https://docs.redpanda.com/connect/components/processors/about/) that are to be applied to _all_ messages, and are not bound to any particular input or output.

If you have processors that are heavy on CPU and aren’t specific to a certain input or output they are best suited for the pipeline section. It is advantageous to use the pipeline section as it allows you to set an explicit number of parallel threads of execution:

```yaml
input:
  resource: foo

pipeline:
  threads: 4
  processors:
    - mapping: |
        root = this
        fans = fans.map_each(match {
          this.obsession > 0.5 => this
          _ => deleted()
        })

output:
  resource: bar
```

If the field `threads` is set to `-1` (the default) it will automatically match the number of logical CPUs available. By default almost all Redpanda Connect sources will utilize as many processing threads as have been configured, which makes horizontal scaling easy.