fix(core): Override executions mode if regular during worker startup (#11250)

This commit is contained in:
Iván Ovejero 2024-10-14 16:12:41 +02:00 committed by GitHub
parent 4bd4b6977a
commit c0aa28c6cf
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 8 additions and 0 deletions

View file

@ -61,6 +61,10 @@ export class Worker extends BaseCommand {
constructor(argv: string[], cmdConfig: Config) {
if (!process.env.N8N_ENCRYPTION_KEY) throw new WorkerMissingEncryptionKey();
if (config.getEnv('executions.mode') !== 'queue') {
config.set('executions.mode', 'queue');
}
super(argv, cmdConfig);
this.logger = Container.get(Logger).withScope('scaling');

View file

@ -39,6 +39,8 @@ mockInstance(Push);
const command = setupTestCommand(Worker);
test('worker initializes all its components', async () => {
config.set('executions.mode', 'regular'); // should be overridden
const worker = await command.run();
expect(worker.queueModeId).toBeDefined();
expect(worker.queueModeId).toContain('worker');
@ -53,4 +55,6 @@ test('worker initializes all its components', async () => {
expect(logStreamingEventRelay.init).toHaveBeenCalledTimes(1);
expect(orchestrationWorkerService.init).toHaveBeenCalledTimes(1);
expect(messageEventBus.send).toHaveBeenCalledTimes(1);
expect(config.getEnv('executions.mode')).toBe('queue');
});