diff --git a/jdbc/src/main/java/io/kestra/jdbc/runner/JdbcScheduler.java b/jdbc/src/main/java/io/kestra/jdbc/runner/JdbcScheduler.java index 02768deb3c6..bff42f0cc5c 100644 --- a/jdbc/src/main/java/io/kestra/jdbc/runner/JdbcScheduler.java +++ b/jdbc/src/main/java/io/kestra/jdbc/runner/JdbcScheduler.java @@ -45,12 +45,18 @@ public void run() { executionQueue.receive( Scheduler.class, execution -> { - if (execution.getState().getCurrent().isTerninated() && execution.getTrigger() != null) { - triggerRepository - .findByExecution(execution) - .ifPresent(trigger -> triggerRepository.save(trigger.resetExecution())); + if ( + execution.getTrigger() != null && ( + execution.isDeleted() || + execution.getState().getCurrent().isTerninated() + ) + ) { + triggerRepository + .findByExecution(execution) + .ifPresent(trigger -> triggerRepository.save(trigger.resetExecution())); + } } - }); + ); super.run(); } diff --git a/runner-kafka/src/main/java/io/kestra/runner/kafka/executors/ExecutorTriggerCleaner.java b/runner-kafka/src/main/java/io/kestra/runner/kafka/executors/ExecutorTriggerCleaner.java index ba0d1048eda..b8e50faf623 100644 --- a/runner-kafka/src/main/java/io/kestra/runner/kafka/executors/ExecutorTriggerCleaner.java +++ b/runner-kafka/src/main/java/io/kestra/runner/kafka/executors/ExecutorTriggerCleaner.java @@ -50,7 +50,7 @@ public StreamsBuilder topology() { Named.as("TriggerCleaner.hasTriggerFilter") ) .filter( - (key, value) -> conditionService.isTerminatedWithListeners(value.getFlow(), value.getExecution()), + (key, value) -> value.getExecution().isDeleted() || conditionService.isTerminatedWithListeners(value.getFlow(), value.getExecution()), Named.as("TriggerCleaner.terminatedFilter") ) .join(