Skip to content
This repository has been archived by the owner on Sep 6, 2023. It is now read-only.

Commit

Permalink
fix(cron): fix clean up of cron handler
Browse files Browse the repository at this point in the history
  • Loading branch information
ccutrer committed Sep 6, 2022
1 parent 6cff615 commit 4190255
Showing 1 changed file with 4 additions and 2 deletions.
6 changes: 4 additions & 2 deletions lib/openhab/dsl/rules/triggers/cron/cron_handler.rb
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ class CronTriggerHandler < org.openhab.core.automation.handler.BaseTriggerModule
def initialize(trigger)
@trigger = trigger
@scheduler = OpenHAB::Core::OSGI.service('org.openhab.core.scheduler.CronScheduler')
@schedule = nil
@expression = trigger.configuration.get('cronExpression')
super(trigger)
end
Expand All @@ -73,7 +74,7 @@ def initialize(trigger)
def setCallback(callback) # rubocop:disable Naming/MethodName
synchronized do
super(callback)
@scheduler.schedule(self, @expression)
@schedule = @scheduler.schedule(self, @expression)
logger.trace("Scheduled cron job '#{@expression}' for trigger '#{@trigger.id}'.")
end
end
Expand Down Expand Up @@ -102,7 +103,8 @@ def dispose
super
return unless @schedule

@schedule&.cancel(true)
@schedule.cancel(true)
@schedule = nil
end
logger.trace("cancelled job for trigger '#{@trigger.id}'.")
end
Expand Down

0 comments on commit 4190255

Please sign in to comment.