Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(core): Improve the startup error when EXECUTIONS_PROCESS is set #8630

Merged
merged 2 commits into from
Feb 14, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Loading