mirror of
https://github.com/n8n-io/n8n.git
synced 2025-03-05 20:50:17 -08:00
refactor(core): Deregistering cronjobs should also release them (no-changelog) (#11179)
This commit is contained in:
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();
|
||||
|
|
Loading…
Reference in a new issue