mirror of
https://github.com/Abdulazizzn/n8n-enterprise-unlocked.git
synced 2025-12-17 18:12:04 +00:00
35 lines
1.2 KiB
TypeScript
35 lines
1.2 KiB
TypeScript
import type { TaskRunner } from '@n8n/task-runner';
|
|
import { UnexpectedError } from 'n8n-workflow';
|
|
|
|
export class TaskRunnerDisconnectedError extends UnexpectedError {
|
|
description: string;
|
|
|
|
constructor(
|
|
readonly runnerId: TaskRunner['id'],
|
|
isCloudDeployment: boolean,
|
|
) {
|
|
super('Node execution failed');
|
|
|
|
const fixSuggestions = {
|
|
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',
|
|
};
|
|
|
|
const subtitle =
|
|
'This can happen for various reasons. Please try executing the node again. If the problem persists, you can try the following:';
|
|
const suggestions = isCloudDeployment
|
|
? [fixSuggestions.reduceItems, fixSuggestions.upgradePlan]
|
|
: [fixSuggestions.reduceItems, fixSuggestions.increaseMemory];
|
|
const suggestionsText = suggestions
|
|
.map((suggestion, index) => `${index + 1}. ${suggestion}`)
|
|
.join('<br/>');
|
|
|
|
const description = `${subtitle}<br/><br/>${suggestionsText}`;
|
|
|
|
this.description = description;
|
|
}
|
|
}
|