Skip to content

Commit 8640986

Browse files
committed
Allow starting scheduler if no static recurring tasks
1 parent 9916672 commit 8640986

File tree

2 files changed

+8
-8
lines changed

2 files changed

+8
-8
lines changed

lib/solid_queue/configuration.rb

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ def default_options
9393
end
9494

9595
def invalid_tasks
96-
recurring_tasks.select(&:invalid?)
96+
static_recurring_tasks.select(&:invalid?)
9797
end
9898

9999
def only_work?
@@ -122,8 +122,8 @@ def dispatchers
122122
end
123123

124124
def schedulers
125-
if !skip_recurring_tasks? && recurring_tasks.any?
126-
[ Process.new(:scheduler, recurring_tasks: recurring_tasks) ]
125+
if !skip_recurring_tasks?
126+
[ Process.new(:scheduler, recurring_tasks: static_recurring_tasks) ]
127127
else
128128
[]
129129
end
@@ -139,8 +139,8 @@ def dispatchers_options
139139
.map { |options| options.dup.symbolize_keys }
140140
end
141141

142-
def recurring_tasks
143-
@recurring_tasks ||= recurring_tasks_config.map do |id, options|
142+
def static_recurring_tasks
143+
@static_recurring_tasks ||= recurring_tasks_config.map do |id, options|
144144
RecurringTask.from_configuration(id, **options) if options&.has_key?(:schedule)
145145
end.compact
146146
end

test/unit/configuration_test.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ class ConfigurationTest < ActiveSupport::TestCase
2121
test "default configuration when config given is empty" do
2222
configuration = SolidQueue::Configuration.new(config_file: config_file_path(:empty_configuration), recurring_schedule_file: config_file_path(:empty_configuration))
2323

24-
assert_equal 2, configuration.configured_processes.count
24+
assert_equal 3, configuration.configured_processes.count # includes scheduler for dynamic tasks
2525
assert_processes configuration, :worker, 1, queues: "*"
2626
assert_processes configuration, :dispatcher, 1, batch_size: SolidQueue::Configuration::DISPATCHER_DEFAULTS[:batch_size]
2727
end
@@ -101,11 +101,11 @@ class ConfigurationTest < ActiveSupport::TestCase
101101

102102
configuration = SolidQueue::Configuration.new(recurring_schedule_file: config_file_path(:recurring_with_production_only))
103103
assert configuration.valid?
104-
assert_processes configuration, :scheduler, 0
104+
assert_processes configuration, :scheduler, 1 # Starts in case of dynamic tasks
105105

106106
configuration = SolidQueue::Configuration.new(recurring_schedule_file: config_file_path(:recurring_with_empty))
107107
assert configuration.valid?
108-
assert_processes configuration, :scheduler, 0
108+
assert_processes configuration, :scheduler, 1 # Starts in case of dynamic tasks
109109

110110
# No processes
111111
configuration = SolidQueue::Configuration.new(skip_recurring: true, dispatchers: [], workers: [])

0 commit comments

Comments
 (0)