Commit Graph

10 Commits

Author SHA1 Message Date
Iván Ovejero
6485ca0a4b refactor(core): Enforce filename casing in cli package (no-changelog) (#10594) 2024-08-28 17:57:46 +02:00
Iván Ovejero
60b15e16cb refactor(core): Simplify Redis client types (no-changelog) (#10397) 2024-08-15 10:41:49 +02:00
Tomi Turtiainen
afa43e75f6 test(core): Move unit tests closer to testable components (no-changelog) (#10287) 2024-08-05 12:12:25 +03:00
Iván Ovejero
acbae928f2 refactor(core): Port cache config (no-changelog) (#10286) 2024-08-02 17:10:03 +02:00
कारतोफ्फेलस्क्रिप्ट™
1fca3af335 refactor(core): Use type-safe event emitters (no-changelog) (#10234) 2024-07-30 13:23:01 +02:00
Iván Ovejero
7b396e78c6 refactor(core): Introduce RedisClientService (no-changelog) (#9774) 2024-06-20 12:55:07 +02:00
Iván Ovejero
ff81de3313 fix(core): Ensure TTL safeguard for test webhooks applies only to multi-main setup (#9062) 2024-04-05 14:15:49 +02:00
Tomi Turtiainen
9a1cc56806 fix: Set '@typescript-eslint/return-await' rule to 'always' for node code (no-changelog) (#8363)
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2024-01-17 17:08:50 +02:00
Iván Ovejero
1a0e285553 feat(core): Implement inter-main communication for test webhooks in multi-main setup (#8267) 2024-01-12 11:48:58 +01:00
Iván Ovejero
f53c482939 perf(core): Improve caching service (#8213)
Story: https://linear.app/n8n/issue/PAY-1188

- Implement Redis hashes on the caching service, based on Micha's work
in #7747, adapted from `node-cache-manager-ioredis-yet`. Optimize
workflow ownership lookups and manual webhook lookups with Redis hashes.
- Simplify the caching service by removing all currently unused methods
and options: `enable`, `disable`, `getCache`, `keys`, `keyValues`,
`refreshFunctionEach`, `refreshFunctionMany`, `refreshTtl`, etc.
- Remove the flag `N8N_CACHE_ENABLED`. Currently some features on
`master` are broken with caching disabled, and test webhooks now rely
entirely on caching, for multi-main setup support. We originally
introduced this flag to protect against excessive memory usage, but
total cache usage is low enough that we decided to drop this setting.
Apparently this flag was also never documented.
- Overall caching service refactor: use generics, reduce branching, add
discriminants for cache kinds for better type safety, type caching
events, improve readability, remove outdated docs, etc. Also refactor
and expand caching service tests.

Follow-up to: https://github.com/n8n-io/n8n/pull/8176

---------

Co-authored-by: Michael Auerswald <michael.auerswald@gmail.com>
2024-01-05 11:52:44 +01:00