> For the complete documentation index, see [llms.txt](https://blueprint.onehilltech.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://blueprint.onehilltech.com/developer-guide/blueprint-cluster/running-a-blueprint-cluster.md).

# Running a Blueprint Cluster

## Running a Standard Blueprint Cluster

It is not hard to run a Blueprint cluster. It's as simple as passing a command-line argument to the NodeJS application.

```bash
node ./app --cluster
```

The above command will launch a Blueprint cluster that has 1 master process and *N* worker processes where *N* is the number of cores available on the host machine. For example, if the host machine has 64 cores (or processing units), then it will launch 1 master process and 64 worker processes.

{% hint style="info" %}
Blueprint cluster uses `os.cpus()` to detect the number of cores on the host machine.
{% endhint %}

## Controlling the Number of Worker Processes

You can also pass a positive integer to the `--cluster` argument to limit the number of worker processes spawned by the master process.

```bash
node ./app --cluster=8
```

In the example above, the master process will spawn 8 worker processes. You can pass a positive integer that is greater than the number of cores available on the host machine. For example, a host machine can have 8 cores, but you pass the argument `--cluster=12`. In such cases, we will display a warning message. We do not restrict this behavior because you have more domain knowledge about your application and its behavior. We just do not recommend spawning more worker processes than cores available on the host machine to ensure the worker processes are not competing for processing time.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://blueprint.onehilltech.com/developer-guide/blueprint-cluster/running-a-blueprint-cluster.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
