mirror of
https://github.com/Abdulazizzn/n8n-enterprise-unlocked.git
synced 2025-12-17 18:12:04 +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) {
|
||||
const cronJobs = this.cronJobs.get(workflowId) ?? [];
|
||||
for (const cronJob of cronJobs) {
|
||||
cronJob.stop();
|
||||
while (cronJobs.length) {
|
||||
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);
|
||||
|
||||
expect(scheduledTaskManager.cronJobs.get(workflow.id)?.length).toBe(3);
|
||||
|
||||
scheduledTaskManager.deregisterCrons(workflow.id);
|
||||
|
||||
expect(scheduledTaskManager.cronJobs.get(workflow.id)?.length).toBe(0);
|
||||
|
||||
expect(onTick).not.toHaveBeenCalled();
|
||||
jest.advanceTimersByTime(10 * 60 * 1000); // 10 minutes
|
||||
expect(onTick).not.toHaveBeenCalled();
|
||||
|
||||
Reference in New Issue
Block a user