refactor(core): Ensure only leader handles licensing in multi-main scenario (#7558)

https://linear.app/n8n/issue/PAY-953/ensure-only-main-instance-leader-handles-licensing
This commit is contained in:
Iván Ovejero
2023-11-02 14:16:22 +01:00
committed by GitHub
parent 7dac9ab82c
commit 1c77d6597f
3 changed files with 75 additions and 0 deletions

View File

@@ -243,6 +243,17 @@ export abstract class BaseCommand extends Command {
}
async initLicense(): Promise<void> {
if (config.getEnv('executions.mode') === 'queue' && config.getEnv('leaderSelection.enabled')) {
const { MultiMainInstancePublisher } = await import(
'@/services/orchestration/main/MultiMainInstance.publisher.ee'
);
if (Container.get(MultiMainInstancePublisher).isFollower) {
this.logger.debug('Instance is follower, skipping license initialization...');
return;
}
}
const license = Container.get(License);
await license.init(this.instanceType ?? 'main');