mirror of
https://github.com/Abdulazizzn/n8n-enterprise-unlocked.git
synced 2025-12-17 01:56:46 +00:00
refactor(core): Deregistering cronjobs should also release them (no-changelog) (#11179)
This commit is contained in:
committed by
GitHub
parent
121e4c741b
commit
b1ab21aa04
@@ -30,8 +30,9 @@ export class ScheduledTaskManager {
|
|||||||
|
|
||||||
deregisterCrons(workflowId: string) {
|
deregisterCrons(workflowId: string) {
|
||||||
const cronJobs = this.cronJobs.get(workflowId) ?? [];
|
const cronJobs = this.cronJobs.get(workflowId) ?? [];
|
||||||
for (const cronJob of cronJobs) {
|
while (cronJobs.length) {
|
||||||
cronJob.stop();
|
const cronJob = cronJobs.pop();
|
||||||
|
if (cronJob) cronJob.stop();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -56,8 +56,13 @@ describe('ScheduledTaskManager', () => {
|
|||||||
scheduledTaskManager.registerCron(workflow, everyMinute, onTick);
|
scheduledTaskManager.registerCron(workflow, everyMinute, onTick);
|
||||||
scheduledTaskManager.registerCron(workflow, everyMinute, onTick);
|
scheduledTaskManager.registerCron(workflow, everyMinute, onTick);
|
||||||
scheduledTaskManager.registerCron(workflow, everyMinute, onTick);
|
scheduledTaskManager.registerCron(workflow, everyMinute, onTick);
|
||||||
|
|
||||||
|
expect(scheduledTaskManager.cronJobs.get(workflow.id)?.length).toBe(3);
|
||||||
|
|
||||||
scheduledTaskManager.deregisterCrons(workflow.id);
|
scheduledTaskManager.deregisterCrons(workflow.id);
|
||||||
|
|
||||||
|
expect(scheduledTaskManager.cronJobs.get(workflow.id)?.length).toBe(0);
|
||||||
|
|
||||||
expect(onTick).not.toHaveBeenCalled();
|
expect(onTick).not.toHaveBeenCalled();
|
||||||
jest.advanceTimersByTime(10 * 60 * 1000); // 10 minutes
|
jest.advanceTimersByTime(10 * 60 * 1000); // 10 minutes
|
||||||
expect(onTick).not.toHaveBeenCalled();
|
expect(onTick).not.toHaveBeenCalled();
|
||||||
|
|||||||
Reference in New Issue
Block a user