Fix crash in tootctl commands making use of parallelization when Elasticsearch is enabled (#24182)

This commit is contained in:
Claire 2023-03-20 20:02:58 +01:00 committed by GitHub
parent 0ca54a4105
commit bdeb6ff180
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -52,14 +52,16 @@ module Mastodon
progress.log("Processing #{item.id}") if options[:verbose]
result = ActiveRecord::Base.connection_pool.with_connection do
yield(item)
ensure
RedisConfiguration.pool.checkin if Thread.current[:redis]
Thread.current[:redis] = nil
end
Chewy.strategy(:mastodon) do
result = ActiveRecord::Base.connection_pool.with_connection do
yield(item)
ensure
RedisConfiguration.pool.checkin if Thread.current[:redis]
Thread.current[:redis] = nil
end
aggregate.increment(result) if result.is_a?(Integer)
aggregate.increment(result) if result.is_a?(Integer)
end
rescue => e
progress.log pastel.red("Error processing #{item.id}: #{e}")
ensure