Skip to content

Commit 3e54590

Browse files
committed
Remove trigger from scheduler when it is deleted
1 parent 8afbf1a commit 3e54590

File tree

4 files changed

+10
-0
lines changed

4 files changed

+10
-0
lines changed

IntegrationEngine/Api/Controllers/CronTriggerController.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ public IHttpActionResult DeleteCronTrigger(string id)
7171
if (trigger == null)
7272
return NotFound();
7373
Repository.Delete(trigger.Id);
74+
EngineScheduler.DeleteTrigger(trigger);
7475
return Ok(trigger);
7576
}
7677
}

IntegrationEngine/Api/Controllers/SimpleTriggerController.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ public IHttpActionResult DeleteSimpleTrigger(string id)
7575
if (trigger == null)
7676
return NotFound();
7777
Repository.Delete(trigger.Id);
78+
EngineScheduler.DeleteTrigger(trigger);
7879
return Ok(trigger);
7980
}
8081
}

IntegrationEngine/Scheduler/EngineScheduler.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,5 +144,12 @@ public ITrigger CronTriggerFactory(CronTrigger triggerDefinition, Type jobType,
144144
triggerBuilder.WithCronSchedule(triggerDefinition.CronExpressionString, x => x.InTimeZone(triggerDefinition.TimeZoneInfo));
145145
return triggerBuilder.Build();
146146
}
147+
148+
public bool DeleteTrigger(IIntegrationJobTrigger triggerDefinition)
149+
{
150+
var jobType = GetRegisteredJobTypeByName(triggerDefinition.JobType);
151+
var triggerKey = TriggerKeyFactory(triggerDefinition, jobType);
152+
return Scheduler.UnscheduleJob(triggerKey);
153+
}
147154
}
148155
}

IntegrationEngine/Scheduler/IEngineScheduler.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ public interface IEngineScheduler
1212
void ScheduleJobWithSimpleTrigger(SimpleTrigger triggerDefinition);
1313
bool IsJobTypeRegistered(string jobTypeName);
1414
Type GetRegisteredJobTypeByName(string jobTypeName);
15+
bool DeleteTrigger(IIntegrationJobTrigger triggerDefinition);
1516
void Shutdown();
1617
}
1718
}

0 commit comments

Comments
 (0)