Merge pull request #1895 from n8n-io/remove-own-mode

remove own mode
This commit is contained in:
Deborah 2024-02-13 10:17:12 +00:00 committed by GitHub
commit 305c09ad32
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 11 additions and 92 deletions

View File

@ -1,3 +1,5 @@
/hosting/scaling/execution-modes-processes/ /hosting/scaling/queue-mode/
/langchain/access-langchain/ /langchain/
/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.memorychatretriever/ /integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.memorymanager/

View File

@ -55,7 +55,6 @@ Example file:
```json
{
"executions": {
"process": "main",
"saveDataOnSuccess": "none"
},
"generic": {
@ -143,20 +142,6 @@ In queue mode, you must specify the encryption key environment variable for all
export N8N_ENCRYPTION_KEY=<SOME RANDOM STRING>
```
### Execute all workflows in the same process
/// warning | Deprecated
n8n deprecated `own` mode and the `EXECUTIONS_PROCESS` flag in version 1.0. n8n will remove these in a future release. Main mode is now the default, so this step isn't needed for version 1.0 and above.
Use [Queue mode](/hosting/scaling/queue-mode/) if you need full execution isolation.
///
All workflows run in their own separate process. This ensures that all CPU cores get used and that they don't block each other on CPU intensive tasks. It also makes sure that one execution crashing doesn't take down the whole application. The disadvantage is that it slows down the start-time considerably and uses much more memory. If your workflows aren't CPU intensive, and they have to start very fast, it's possible to run them all directly in the main-process with this setting.
```bash
export EXECUTIONS_PROCESS=main
```
### Execution timeout

View File

@ -152,7 +152,6 @@ Refer to [User management](/hosting/user-management-self-hosted/) for more infor
| Variable | Type | Default | Description |
| :------- | :---- | :------- | :---------- |
| `EXECUTIONS_PROCESS` (**deprecated**) | Enum string: `main`, `own` | `main` | **Deprecated**. Whether n8n executions run in their own process or the main process. <br><br>Refer to [Execution modes and processes](/hosting/scaling/execution-modes-processes/) for more details. |
| `EXECUTIONS_MODE` | Enum string: `regular`, `queue` | `regular` | Whether executions should run directly or using queue.<br><br>Refer to [Execution modes and processes](/hosting/scaling/execution-modes-processes/) for more details. |
| `EXECUTIONS_TIMEOUT` | Number | `-1` | Sets a default timeout (in seconds) to all workflows after which n8n stops their execution. Users can override this for individual workflows up to the duration set in `EXECUTIONS_TIMEOUT_MAX`. Set `EXECUTIONS_TIMEOUT` to `-1` to disable. |
| `EXECUTIONS_TIMEOUT_MAX` | Number | `3600` | The maximum execution time (in seconds) that users can set for an individual workflow. |

View File

@ -1,63 +0,0 @@
---
contentType: explanation
---
# Execution modes and processes
There are several different modes in which you can configure n8n to operate when executing workflows. These settings become more important as you increase the number, and complexity, of your automation workflows. Ensuring you set n8n to run in the most beneficial mode is also crucial when you begin to scale n8n to handle large workloads.
Set the n8n mode using the following [environment variables](/hosting/environment-variables/environment-variables/#executions):
| Variable | Options | Default | Description |
| :------- | :------ | :------ | :--------- |
| `EXECUTIONS_PROCESS` (**deprecated**) | Enum string: `main`, `own` | `main` | **Deprecated**. Whether n8n executions run in their own process or the main process. |
| `EXECUTIONS_MODE` | Enum string: `regular`, `queue` | `regular` | Whether executions should run directly or using queue. When you set this to `queue`, n8n ignores any `EXECUTION_PROCESS` setting and uses `main`. |
## Executions process
There are two options available when selecting how n8n handles execution processes: `own` and `main`.
### Main
This is the default mode. When using `main` mode, all executions will run in the main n8n process. This mode has the following benefits and disadvantages:
| Benefits | Disadvantages |
| :------- | :------------ |
| **Minimal latency** | Can't take advantage of multiple CPUs. Single process can result in a bottleneck. |
| **Resource efficiency**: only one CPU required. | Reduced stability, one crashed execution causes all others to fail. |
### Own
/// warning | Deprecated
n8n deprecated `own` mode and the `EXECUTIONS_PROCESS` flag in version 1.0. They will be removed in a future release. Main mode is now the default, so this step isn't needed for version 1.0 and above.
/// Use [Queue mode](/hosting/scaling/queue-mode/) if you need full execution isolation.
In `own` mode, each execution runs in its own, newly instantiated process (one execution equals one running process). Running in this mode has the following benefits and disadvantages:
| Benefits | Disadvantages |
| :------- | :------------ |
| **Stability**: one crashed execution doesn't impact others. | Latency, approximately 1 second as each process spins up. |
| **Efficiency**: Uses all CPUs. | Resources (CPU/RAM) needed for the additional processes. |
n8n recommends this mode for running CPU intensive tasks to ensure processes don't block each other.
As `own` also reloads nodes on each execution, it's also the best mode for developing custom nodes.
## Executions mode
There are two options available when setting the executions mode: `regular` and `queue`.
### Regular
This is the default setting for n8n. When running n8n in the `regular` mode, everything is processed on a single instance. Executions are handled according to the `EXECUTIONS_PROCESS` setting and available resources.
### Queue
`Queue` mode is designed for handling high workloads. In this mode you run multiple instances of n8n: one main instance is required for triggering some workflows and allowing user access through the UI, while the other worker instances process the executions. You can also add dedicated instances to handle incoming webhooks.
`Queue` mode requires more setup than `regular` mode, but provides great scalability and stability with minimal latency.
/// note | Binary data storage
n8n doesn't support queue mode with binary data storage. If your workflows need to persist binary data, you can't use queue mode.
///
To learn more see the [Scaling n8n](/hosting/scaling/) documentation.

View File

@ -10,6 +10,10 @@ n8n can be run in different modes depending on your needs. The queue mode provid
n8n doesn't support queue mode with binary data storage. If your workflows need to persist binary data, you can't use queue mode.
///
/// note | Own mode removed
n8n removed `own` mode in version 1.27.0.
///
## How it works
When running in `queue` mode you have multiple n8n instances set up, with one main instance receiving workflow information (such as triggers) and the worker instances performing the executions.

View File

@ -37,8 +37,6 @@ View the [commits](https://github.com/n8n-io/n8n/compare/n8n@1.27.2...n8n@1.28.0
This is the `next` version. n8n recommends using the `latest` version. The `next` version may be unstable. To report issues, use the [forum](https://community.n8n.io/c/questions/12){:target=_blank .external-link}.
///
This release contains new features, new nodes, node enhancements and bug fixes.
<div class="n8n-new-features" markdown>
@ -67,8 +65,6 @@ View the [commits](https://github.com/n8n-io/n8n/compare/n8n@1.27.1...n8n@1.27.2
This is the `latest` version. n8n recommends using the `latest` version. The `next` version may be unstable. To report issues, use the [forum](https://community.n8n.io/c/questions/12){:target=_blank .external-link}.
///
This release contains bug fixes.
For full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases){:target=_blank .external-link} on GitHub.
@ -78,7 +74,7 @@ For full release details, refer to [Releases](https://github.com/n8n-io/n8n/rele
View the [commits](https://github.com/n8n-io/n8n/compare/n8n@1.26.0...n8n@1.27.1){:target=_blank .external-link} for this version.<br />
**Release date:** 2024-01-31
This release contains node enhancements and bug fixes.
This release contains new features, node enhancements, and bug fixes.
For full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases){:target=_blank .external-link} on GitHub.
@ -87,6 +83,10 @@ For full release details, refer to [Releases](https://github.com/n8n-io/n8n/rele
View the [commits](https://github.com/n8n-io/n8n/compare/n8n@1.26.0...n8n@1.27.0){:target=_blank .external-link} for this version.<br />
**Release date:** 2024-01-31
/// warning | Breaking change
This release removes `own` mode for self-hosted n8n. You must now use `EXECUTIONS_MODE` and set to either `regular` or `queue`. Refer to [Queue mode](/hosting/scaling/queue-mode/) for information on configuring queue mode.
///
/// note | Skip this release
Please upgrade directly to 1.27.1.
///
@ -100,10 +100,6 @@ For full release details, refer to [Releases](https://github.com/n8n-io/n8n/rele
View the [commits](https://github.com/n8n-io/n8n/compare/n8n@1.25.1...n8n@1.26.0){:target=_blank .external-link} for this version.<br />
**Release date:** 2024-01-24
This release contains new features, node enhancements, and bug fixes.
For full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases){:target=_blank .external-link} on GitHub.
@ -148,10 +144,6 @@ For full release details, refer to [Releases](https://github.com/n8n-io/n8n/rele
View the [commits](https://github.com/n8n-io/n8n/compare/n8n@1.24.0...n8n@1.24.1){:target=_blank .external-link} for this version.<br />
**Release date:** 2024-01-16
This is a bug fix release.
For full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases){:target=_blank .external-link} on GitHub.