n8n/packages/core
Iván Ovejero 8cd4db0ab7
refactor(core): Simplify marking logic in binary data manager (no-changelog) (#7046)
- For a saved execution, we write to disk binary data and metadata.
These two are only ever deleted via `POST /executions/delete`. No marker
file, so untouched by pruning.
- For an unsaved execution, we write to disk binary data, binary data
metadata, and a marker file at `/meta`. We later delete all three during
pruning.
- The third flow is legacy. Currently, if the execution is unsaved, we
actually store it in the DB while running the workflow and immediately
after the workflow is finished during the `onWorkflowPostExecute()` hook
we delete that execution, so the second flow applies. But formerly, we
did not store unsaved executions in the DB ("ephemeral executions") and
so we needed to write a marker file at `/persistMeta` so that, if the
ephemeral execution crashed after the step where binary data was stored,
we had a way to later delete its associated dangling binary data via a
second pruning cycle, and if the ephemeral execution succeeded, then we
immediately cleaned up the marker file at `/persistMeta` during the
`onWorkflowPostExecute()` hook.

This creation and cleanup at `/persistMeta` is still happening, but this
third flow no longer has a purpose, as we now store unsaved executions
in the DB and delete them immediately after. Hence the third flow can be
removed.
2023-08-31 16:02:20 +02:00
..
bin fix(core): Fix credentials lazy-loading (no-changelog) (#6615) 2023-07-10 17:57:26 +02:00
src refactor(core): Simplify marking logic in binary data manager (no-changelog) (#7046) 2023-08-31 16:02:20 +02:00
test refactor(core): Simplify marking logic in binary data manager (no-changelog) (#7046) 2023-08-31 16:02:20 +02:00
.eslintrc.js feat: Allow eslint-config to be externally consumable (#6694) 2023-07-19 09:35:10 +02:00
jest.config.js fix(HTTP Request Node): Show detailed error message in the UI again (#5959) 2023-04-12 14:58:05 +02:00
LICENSE.md docs: scope Sustainable Use License to contents of the main branch (#4450) 2022-10-26 16:50:33 +02:00
LICENSE_EE.md docs(license): Introduce n8n Enterprise License (#3945) 2022-08-29 22:08:42 +02:00
package.json 🚀 Release 1.5.0 (#7056) 2023-08-31 12:57:20 +02:00
README.md docs: Add proprietary license text (no-changelog) (#6038) 2023-04-20 18:49:09 +02:00
tsconfig.build.json refactor: Consolidate tsconfig and eslintrc files (no-changelog) (#6816) 2023-08-01 17:32:43 +02:00
tsconfig.json refactor: Consolidate tsconfig and eslintrc files (no-changelog) (#6816) 2023-08-01 17:32:43 +02:00

n8n.io - Workflow Automation

n8n-core

Core components for n8n

npm install n8n-core

License

n8n is fair-code distributed under the Sustainable Use License.

Proprietary licenses are available for enterprise customers. Get in touch

Additional information about the license can be found in the docs.