File tree Expand file tree Collapse file tree 3 files changed +20
-24
lines changed Expand file tree Collapse file tree 3 files changed +20
-24
lines changed Original file line number Diff line number Diff line change @@ -37,11 +37,21 @@ def configured_processes
3737 end
3838
3939 def valid?
40- skip_recurring_tasks? || recurring_tasks . none ? || recurring_tasks . all? ( & :valid ?)
40+ configured_processes . any? && ( skip_recurring_tasks ? || invalid_tasks . none ?)
4141 end
4242
43- def invalid_tasks
44- recurring_tasks . select ( &:invalid? )
43+ def error_messages
44+ if configured_processes . none?
45+ "No workers or processed configured. Exiting..."
46+ else
47+ error_messages = invalid_tasks . map do |task |
48+ all_messages = task . errors . full_messages . map { |msg | "\t #{ msg } " } . join ( "\n " )
49+ "#{ task . key } :\n #{ all_messages } "
50+ end
51+ . join ( "\n " )
52+
53+ "Invalid processes configured:\n #{ error_messages } "
54+ end
4555 end
4656
4757 def max_number_of_threads
@@ -62,6 +72,10 @@ def default_options
6272 }
6373 end
6474
75+ def invalid_tasks
76+ recurring_tasks . select ( &:invalid? )
77+ end
78+
6579 def only_work?
6680 options [ :only_work ]
6781 end
Original file line number Diff line number Diff line change @@ -10,28 +10,12 @@ def start(**options)
1010 SolidQueue . supervisor = true
1111 configuration = Configuration . new ( **options )
1212
13- if configuration . configured_processes . any?
14- if configuration . valid?
15- new ( configuration ) . tap ( &:start )
16- else
17- abort_due_to_invalid_tasks ( configuration )
18- end
13+ if configuration . valid?
14+ new ( configuration ) . tap ( &:start )
1915 else
20- abort "No workers or processed configured. Exiting..."
16+ abort configuration . error_messages
2117 end
2218 end
23-
24- private
25- def abort_due_to_invalid_tasks ( configuration )
26- error_messages = configuration . invalid_tasks
27- . map do |task |
28- all_messages = task . errors . full_messages . map { |msg | "\t #{ msg } " } . join ( "\n " )
29- "#{ task . key } :\n #{ all_messages } "
30- end
31- . join ( "\n " )
32-
33- abort "Invalid processes configured:\n #{ error_messages } "
34- end
3519 end
3620
3721 def initialize ( configuration )
Original file line number Diff line number Diff line change @@ -94,8 +94,6 @@ class ConfigurationTest < ActiveSupport::TestCase
9494 configuration = SolidQueue ::Configuration . new ( recurring_schedule_file : config_file_path ( :recurring_with_invalid ) )
9595
9696 assert_not configuration . valid?
97-
98- assert_equal configuration . invalid_tasks . size , 1
9997 end
10098
10199 test "is valid when there are no recurring tasks" do
You can’t perform that action at this time.
0 commit comments