Skip to content

Commit

Permalink
Merge branch 'main' into upgrade-theme-breadcrumbs
Browse files Browse the repository at this point in the history
  • Loading branch information
StarfallProjects committed Jan 18, 2023
2 parents e490751 + c9e43fa commit f275fe3
Show file tree
Hide file tree
Showing 9 changed files with 167 additions and 30 deletions.
5 changes: 3 additions & 2 deletions docs/_redirects
Original file line number Diff line number Diff line change
Expand Up @@ -27,13 +27,14 @@
/hosting/databases/structure/ /hosting/architecture/database-structure/
/hosting/security/ /hosting/authentication/
/hosting/user-management/ /user-management/
/hosting/configuration/ /hosting/environment-variables/configuration-methods/


# 2022 SEO audit

/nodes/expressions/expressions.html /code-examples/expressions/
/nodes/expressions.html /code-examples/expressions/
/reference/configuration.html /hosting/configuration/
/reference/configuration.html /hosting/environment-variables/configuration-methods/
/getting-started/installation/index.html /hosting/options/
/getting-started/create-your-first-workflow/ /try-it-out/
/reference/scaling-n8n.html /hosting/scaling/
Expand Down Expand Up @@ -115,7 +116,7 @@
/getting-started/installation/ /hosting/options/
/getting-started/installation/docker-quickstart.html /hosting/installation/docker/
/getting-started/installation/updating.html /hosting/updating/
/getting-started/installation/advanced/configuration.html /hosting/configuration/
/getting-started/installation/advanced/configuration.html /hosting/environment-variables/configuration-methods/
/getting-started/installation/advanced/maintenance.html /hosting/scaling/execution-data/
/getting-started/installation/advanced/scaling-n8n.html /hosting/scaling/queue-mode/
/getting-started/tutorials.html https://n8n.io/blog/
Expand Down
10 changes: 8 additions & 2 deletions docs/hosting/environment-variables/environment-variables.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,13 +77,19 @@ Enabling overwrites for credentials allows you to set default values for credent
| `N8N_DIAGNOSTICS_ENABLED` | Boolean | `true` | Whether to share selected, anonymous [telemetry](/reference/data-collection/) with n8n |
| `N8N_DIAGNOSTICS_CONFIG_FRONTEND` | String | `1zPn9bgWPzlQc0p8Gj1uiK6DOTn;https://telemetry.n8n.io` | Telemetry configuration for the frontend. |
| `N8N_DIAGNOSTICS_CONFIG_BACKEND` | String | `1zPn7YoGC3ZXE9zLeTKLuQCB4F6;https://telemetry.n8n.io/v1/batch` | Telemetry configuration for the backend. |
| `VUE_APP_URL_BASE_API` | String | `http://localhost:5678/` | Used when building the `n8n-editor-ui` package manually to set how the frontend can reach the backend API. |
| `N8N_HIRING_BANNER_ENABLED` | Boolean | `true` | Whether to show the n8n hiring banner in the console (true) or not (false). |

## Binary data

| Variable | Type | Default | Description |
| :------- | :---- | :------- | :---------- |
| `N8N_AVAILABLE_BINARY_DATA_MODES` | String | `filesystem` | A comma separated list of available binary data modes. |
| `N8N_BINARY_DATA_STORAGE_PATH` | String | `N8N_USE_FOLDER/binaryData` | The path where n8n stores binary data. |
| `N8N_BINARY_DATA_TTL` | Number | `60` | Time to live (in minutes) for binary data of unsaved executions. |
| `N8N_DEFAULT_BINARY_DATA_MODE` | String | `default` | The default binary data mode. `default` keeps binary data in memory. Set to `filesystem` to use the filesystem. |
| `N8N_PERSISTED_BINARY_DATA_TTL` | Number | `1440` | Time to live (in minutes) for persisted data. |
| `VUE_APP_URL_BASE_API` | String | `http://localhost:5678/` | Used when building the `n8n-editor-ui` package manually to set how the frontend can reach the backend API. |
| `N8N_HIRING_BANNER_ENABLED` | Boolean | `true` | Whether to show the n8n hiring banner in the console (true) or not (false). |


## User management and SMTP

Expand Down
12 changes: 12 additions & 0 deletions docs/hosting/scaling/binary-data.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
title: Scaling binary data in n8n
description: How to handle large files without degrading n8n's performance.
---

# Binary data filesystem mode

Binary data is any file-type data, such as image files or documents.

When handling binary data, n8n keeps the data in memory. This can cause crashes when working with large files.

To avoid this, change the `N8N_DEFAULT_BINARY_DATA_MODE` to `filesystem`. This causes n8n to save data to disk, instead of using memory.
41 changes: 22 additions & 19 deletions docs/hosting/scaling/execution-modes-processes.md
Original file line number Diff line number Diff line change
@@ -1,38 +1,38 @@
# 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](/hosting/scaling/) to handle very large workloads.
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.

The mode in which you n8n instance will operate is set via the following two [environment variables](/hosting/environment-variables/environment-variables/#executions):
Set the n8n mode using the following [environment variables](/hosting/environment-variables/environment-variables/#executions):

| Variable | Options | Description |
| -------- | ------- | ----------- |
| *EXECUTIONS_PROCESS* | `own` (default), `main` | Determines whether each execution runs in its own process, or all run in the main process. |
| *EXECUTIONS_MODE* | `regular` (default), `queue` | Determines whether executions are processed by a single instance or are distributed across worker instances. |
| Variable | Options | Default | Description |
| :------- | :------ | :------ | :--------- |
| `EXECUTIONS_PROCESS` | Enum string: `main`, `own` | `own` | 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 execution processes are handled in n8n: `own` and `main`.
There are two options available when selecting how n8n handles execution processes: `own` and `main`.

### Own

This is the default setting in n8n. In `own` mode, each execution runs in its own, newly instantiated process (i.e. 1 execution = 1 running process). Running in this mode has the following benefits and disadvantages to consider:
This is the default setting in n8n. 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:

| Pros | Cons |
| :--- | :--- |
| **Stability**: one crashed execution does not impact others. | Latency, approximately 1sec as each process spins up. |
| **Efficiency**: all CPUs are utilized. | Resources (CPU/RAM) needed for the additional processes. |
| 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. |

This mode is recommended for running CPU intensive tasks to ensure processes do not block each other.
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 is also the best mode for developing custom nodes.
As `own` also reloads nodes on each execution, it's also the best mode for developing custom nodes.

### Main

When using `main` mode, all executions will run in the main n8n process. This mode has the following benefits and disadvantages to consider:
When using `main` mode, all executions will run in the main n8n process. This mode has the following benefits and disadvantages:

| Pros | Cons |
| :--- | :--- |
| **Minimal latency** | Cannot take advantage of multiple CPUs. Single process can result in a bottleneck. |
| 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 executions causes all others to fail. |

## Executions mode
Expand All @@ -45,8 +45,11 @@ This is the default setting for n8n. When running n8n in the `regular` mode, eve

### Queue

`Queue` mode is designed for handling very high workloads. In this mode you run multiple instances of n8n: one main' instance coordinates, and other worker' instances actually process the executions. You can also add dedicated instances to handle incoming webhooks.
`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.
5 changes: 5 additions & 0 deletions docs/hosting/scaling/queue-mode.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
# Queue mode

n8n can be run in different modes depending on your needs. The queue mode provides the best scalability, and its configuration is detailed here.

!!! 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.

## How it works

When running in `queue` mode you have multiple n8n instances set up (as many as desired or necessary to handle your workload), with one main instance receiving workflow information (e.g. triggers) and the worker instances performing the executions.
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Google Sheets Trigger

[Google Sheets](https://www.google.com/sheets){:target=_blank} is a web-based spreadsheet program that's part of Google's office software suite within its Google Drive service.

!!! note "Credentials"
You can find authentication information for this node [here](/integrations/builtin/credentials/google/).

## Events

* Row added
* Row updated
* Row added or updated

## Related resources

Refer to [Google Sheet's API documentation](https://developers.google.com/sheets/api){:target=_blank .external-link} for more information about the service.

n8n provides an app node for Google Sheets. You can find the node docs [here](/integrations/builtin/app-nodes/n8n-nodes-base.googlesheets/).

View [example workflows and related content](https://n8n.io/integrations/google-sheets-trigger/){:target=_blank .external-link} on n8n's website.
94 changes: 94 additions & 0 deletions docs/reference/release-notes.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,99 @@
# Release notes

<div id="02112" markdown>

## n8n@0.211.2

View the [commits](https://github.com/n8n-io/n8n/compare/n8n@0.211.1...n8n@0.211.2){:target=_blank .external-link} for this version.<br />
**Release date:** 2023-01-17

This release contains a bug fix for community nodes, and a new trigger node.

### New nodes

<div class="n8n-new-features" markdown>

#### Google Sheets trigger node

This release adds a new [Google Sheets trigger node](/integrations/builtin/trigger-nodes/n8n-nodes-base.googlesheetstrigger/). You can now start workflows in response to row changes or new rows in a Google Sheet.

</div>

### Bug fixes

Fixes an issue that was preventing users from installing community nodes.

</div>

<div id="02111" markdown>

## n8n@0.211.1

View the [commits](https://github.com/n8n-io/n8n/compare/n8n@0.211.0...n8n@0.211.1){:target=_blank .external-link} for this version.<br />
**Release date:** 2023-01-16

This is a bug fix release. It resolves major issues with 0.211.0.

### New features

Editor: suppress validation errors for freshly added nodes.

### Node enhancements

* Google Ads node: update the API version to 11.
* Google Drive Trigger node: start using the resource locator component.

### Bug fixes

* Build CLI to fix Postgres and MySQL test runs.
* Extend date functions clobbering plus/minus.
* Extension deep compare not quite working for some primitives.
* Upgrade jsonwebtoken to address CVE-2022-23540.

</div>

<div id="02110" markdown>

## n8n@0.211.0

View the [commits](https://github.com/n8n-io/n8n/compare/n8n@0.210.2...n8n@0.211.0){:target=_blank .external-link} for this version.<br />
**Release date:** 2023-01-13

!!! warning "Don't use this version"
Upgrade directly to 0.211.1.

### New features

* Add demo experiment to help users activate.
* Editor: Improvements to the **Executions** page.
* Editor: Remove prevent-ndv-auto-open feature flag.
* Editor: Update callout component design.
* Add the expression extension framework.

### Bug fixes

* Core: Fixes event message confirmations if no subscribers present.
* Core: Remove threads package, rewrite log writer worker.
* Core: Throw error in UI on expression referencing missing node but don't fail execution.
* DB revert command shouldn't run full migrations before each revert.
* Editor: Disable data pinning on multiple output node types.
* Editor: Don't overwrite `window.onerror` in production.
* Editor: Execution page bug fixes.
* Editor: Fixes event bus test.
* Editor: Hide data pinning discoverability tooltip in execution view.
* Editor: Mapping tooltip dismiss.
* Editor: Recover from unsaved finished execution.
* Editor: Setting NDV session ID.
* First/last being extended on proxy objects.
* Handle memory issues gracefully.
* PayPal Trigger Node: Omit verification in sandbox environment.
* Report app startup and database migration errors to Sentry.
* Run every database migration inside a transaction.
* Upgrade class-validator to address CVE-2019-18413.
* Zoom Node: Add notice about deprecation of Zoom JWT app support.

</div>

<div id="02102" markdown>

## n8n@0.210.2
Expand Down
9 changes: 2 additions & 7 deletions document-templates/trigger-nodes.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,13 +37,8 @@ Refer to [_Name's_ documentation]() for details about the operations.
n8n provides an app node for _Name_. You can find the node docs [here]().


<!-- this section is optional. Include it if we have good blog posts available -->
### Examples

* _List of links_
* _To blog posts_
* _And integrations marketing pages_

<!-- add a link to the node page on n8n's website. For example: https://n8n.io/integrations/356-gmail/ -->
View [example workflows and related content](){:target=_blank .external-link} on n8n's website.

<!--
Add any other sections here.
Expand Down
1 change: 1 addition & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -500,6 +500,7 @@ nav:
- Execution data: hosting/scaling/execution-data.md
- Execution modes and processes: hosting/scaling/execution-modes-processes.md
- Configuring queue mode: hosting/scaling/queue-mode.md
- Binary data filesystem mode: hosting/scaling/binary-data.md
- Architecture:
- hosting/architecture/index.md
- Database structure: hosting/architecture/database-structure.md
Expand Down

0 comments on commit f275fe3

Please sign in to comment.