mirror of
https://github.com/n8n-io/n8n.git
synced 2025-03-05 20:50:17 -08:00
refactor(core): Simplify license autorenewal on leadership transition (#13503)
This commit is contained in:
parent
b984deac3b
commit
288cce6370
|
@ -285,20 +285,4 @@ describe('License', () => {
|
|||
);
|
||||
});
|
||||
});
|
||||
|
||||
describe('reinit', () => {
|
||||
it('should reinitialize license manager', async () => {
|
||||
const license = new License(mockLogger(), mock(), mock(), mock(), mock());
|
||||
await license.init();
|
||||
|
||||
const initSpy = jest.spyOn(license, 'init');
|
||||
|
||||
await license.reinit();
|
||||
|
||||
expect(initSpy).toHaveBeenCalledWith({ forceRecreate: true });
|
||||
|
||||
expect(LicenseManager.prototype.reset).toHaveBeenCalled();
|
||||
expect(LicenseManager.prototype.initialize).toHaveBeenCalled();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
|
@ -263,11 +263,11 @@ export class Start extends BaseCommand {
|
|||
|
||||
orchestrationService.multiMainSetup
|
||||
.on('leader-stepdown', async () => {
|
||||
await this.license.reinit(); // to disable renewal
|
||||
this.license.disableAutoRenewals();
|
||||
await this.activeWorkflowManager.removeAllTriggerAndPollerBasedWorkflows();
|
||||
})
|
||||
.on('leader-takeover', async () => {
|
||||
await this.license.reinit(); // to enable renewal
|
||||
this.license.enableAutoRenewals();
|
||||
await this.activeWorkflowManager.addAllTriggerAndPollerBasedWorkflows();
|
||||
});
|
||||
}
|
||||
|
|
|
@ -381,14 +381,6 @@ export class License {
|
|||
return this.getUsersLimit() === UNLIMITED_LICENSE_QUOTA;
|
||||
}
|
||||
|
||||
async reinit() {
|
||||
if (this.manager) {
|
||||
await this.manager.reset();
|
||||
}
|
||||
await this.init({ forceRecreate: true });
|
||||
this.logger.debug('License reinitialized');
|
||||
}
|
||||
|
||||
/**
|
||||
* Ensures that the instance is licensed for multi-main setup if multi-main mode is enabled
|
||||
*/
|
||||
|
@ -429,4 +421,12 @@ export class License {
|
|||
Container.get(ObjectStoreService).setReadonly(true);
|
||||
}
|
||||
}
|
||||
|
||||
enableAutoRenewals() {
|
||||
this.manager?.enableAutoRenewals();
|
||||
}
|
||||
|
||||
disableAutoRenewals() {
|
||||
this.manager?.disableAutoRenewals();
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue