Skip to content

Commit

Permalink
fix(core): Make task runner oom error message more user friendly (no-…
Browse files Browse the repository at this point in the history
…changelog) (#11646)
  • Loading branch information
tomi authored Nov 8, 2024
1 parent fb06b55 commit 0fdb79a
Showing 1 changed file with 10 additions and 6 deletions.
16 changes: 10 additions & 6 deletions packages/cli/src/runners/errors/task-runner-oom-error.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,22 @@ import type { TaskRunner } from '../task-broker.service';
export class TaskRunnerOomError extends ApplicationError {
public description: string;

constructor(runnerId: TaskRunner['id'], isCloudDeployment: boolean) {
super(`Task runner (${runnerId}) ran out of memory.`, { level: 'error' });
constructor(
public readonly runnerId: TaskRunner['id'],
isCloudDeployment: boolean,
) {
super('Node ran out of memory.', { level: 'error' });

const fixSuggestions = {
reduceItems: 'Reduce the number of items processed at a time by batching the input.',
reduceItems:
'Reduce the number of items processed at a time, by batching them using a loop node',
increaseMemory:
"Increase the memory available to the task runner with 'N8N_RUNNERS_MAX_OLD_SPACE_SIZE' environment variable.",
upgradePlan: 'Upgrade your cloud plan to increase the available memory.',
"Increase the memory available to the task runner with 'N8N_RUNNERS_MAX_OLD_SPACE_SIZE' environment variable",
upgradePlan: 'Upgrade your cloud plan to increase the available memory',
};

const subtitle =
'The runner executing the code ran out of memory. This usually happens when there are too many items to process. You can try the following:';
'This usually happens when there are too many items to process. You can try the following:';
const suggestions = isCloudDeployment
? [fixSuggestions.reduceItems, fixSuggestions.upgradePlan]
: [fixSuggestions.reduceItems, fixSuggestions.increaseMemory];
Expand Down

0 comments on commit 0fdb79a

Please sign in to comment.