Skip to content

Commit

Permalink
fix(core): Improve the startup error when EXECUTIONS_PROCESS is set (#…
Browse files Browse the repository at this point in the history
…8630)

Co-authored-by: Omar Ajoue <[email protected]>
  • Loading branch information
netroy and krynble committed Feb 14, 2024
1 parent a255cd3 commit b70b42d
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 12 deletions.
5 changes: 0 additions & 5 deletions packages/cli/src/commands/BaseCommand.ts
Original file line number Diff line number Diff line change
Expand Up @@ -83,11 +83,6 @@ export abstract class BaseCommand extends Command {
'Support for MySQL/MariaDB has been deprecated and will be removed with an upcoming version of n8n. Please migrate to PostgreSQL.',
);
}
if (process.env.EXECUTIONS_PROCESS === 'own') {
throw new ApplicationError(
'Own mode has been removed. If you need the isolation and performance gains, please consider using queue mode.',
);
}

if (process.env.N8N_SKIP_WEBHOOK_DEREGISTRATION_SHUTDOWN) {
this.logger.warn(
Expand Down
21 changes: 18 additions & 3 deletions packages/cli/src/config/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -73,10 +73,25 @@ if (userManagement.jwtRefreshTimeoutHours >= userManagement.jwtSessionDurationHo

config.set('userManagement.jwtRefreshTimeoutHours', 0);
}
if (config.getEnv('executions.process') !== 'IGNORED') {
throw new ApplicationError(
'Own mode has been removed. If you need the isolation and performance gains, please consider using queue mode.',

import colors from 'picocolors';
const executionProcess = config.getEnv('executions.process');
if (executionProcess) {
console.error(
colors.yellow('Please unset the deprecated env variable'),
colors.bold(colors.yellow('EXECUTIONS_PROCESS')),
);
}
if (executionProcess === 'own') {
console.error(
colors.bold(colors.red('Application failed to start because "Own" mode has been removed.')),
);
console.error(
colors.red(
'If you need the isolation and performance gains, please consider using queue mode instead.\n\n',
),
);
process.exit(-1);
}

setGlobalState({
Expand Down
7 changes: 3 additions & 4 deletions packages/cli/src/config/schema.ts
Original file line number Diff line number Diff line change
Expand Up @@ -234,12 +234,11 @@ export const schema = {
},

executions: {
// By default workflows get always executed in the main process.
// TODO: remove this and all usage of `executions.process` when we're sure that nobody has this in their config file anymore.
process: {
doc: 'Own mode has been removed and is only here for backwards compatibility of config files. N8n will use main mode for executions unless `executions.mode` is set to `queue`.',
format: ['main', 'own', 'IGNORED'] as const,
default: 'IGNORED',
doc: 'Deprecated key, that will be removed in the future. Please remove it from your configuration and environment variables to prevent issues in the future.',
format: String,
default: '',
env: 'EXECUTIONS_PROCESS',
},
mode: {
Expand Down

0 comments on commit b70b42d

Please sign in to comment.