Skip to content

Commit be8f367

Browse files
committed
Delete missing static recurring tasks before loading them again
Closes #382 and #420.
1 parent fabf713 commit be8f367

File tree

2 files changed

+3
-2
lines changed

2 files changed

+3
-2
lines changed

lib/solid_queue/scheduler/recurring_schedule.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ def task_keys
4141

4242
private
4343
def persist_tasks
44+
SolidQueue::RecurringTask.static.where.not(key: task_keys).delete_all
4445
SolidQueue::RecurringTask.create_or_update_all configured_tasks
4546
end
4647

test/integration/recurring_tasks_test.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,13 +64,13 @@ class RecurringTasksTest < ActiveSupport::TestCase
6464
scheduler1 = SolidQueue::Scheduler.new(recurring_tasks: another_task).tap(&:start)
6565
wait_for_registered_processes(6, timeout: 1.second)
6666

67-
assert_recurring_tasks configured_task.merge(another_task)
67+
assert_recurring_tasks another_task
6868

6969
updated_task = { example_task: { class: "AddToBufferJob", schedule: "every minute" } }
7070
scheduler2 = SolidQueue::Scheduler.new(recurring_tasks: updated_task).tap(&:start)
7171
wait_for_registered_processes(7, timeout: 1.second)
7272

73-
assert_recurring_tasks configured_task.merge(updated_task)
73+
assert_recurring_tasks updated_task
7474

7575
terminate_process(@pid)
7676
scheduler1.stop

0 commit comments

Comments
 (0)