7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
# File 'lib/broken_record/scanner.rb', line 7
def run(class_names)
ResultAggregator.new.tap do |aggregator|
classes = classes_to_validate(class_names)
BrokenRecord::Config.before_scan_callbacks.each { |callback| callback.call }
jobs = BrokenRecord::Job.build_jobs(classes)
callback = proc do |_, _, result|
aggregator.add_result result if result.is_a? BrokenRecord::JobResult
end
Parallel.each(jobs, :finish => callback) do |job|
ActiveRecord::Base.connection.reconnect!
BrokenRecord::Config.after_fork_callbacks.each { |callback| callback.call }
job.perform
end
end
end
|