mirror of
https://github.com/discourse/discourse.git
synced 2025-02-25 18:55:32 -06:00
DEV: Better clean up for PostgreSQL failover test.
This commit is contained in:
@@ -7,6 +7,7 @@ class SidekiqPauser
|
|||||||
|
|
||||||
def pause!
|
def pause!
|
||||||
redis.setex paused_key, 60, "paused"
|
redis.setex paused_key, 60, "paused"
|
||||||
|
|
||||||
@mutex.synchronize do
|
@mutex.synchronize do
|
||||||
@extend_lease_thread ||= extend_lease_thread
|
@extend_lease_thread ||= extend_lease_thread
|
||||||
sleep 0.001 while !paused?
|
sleep 0.001 while !paused?
|
||||||
@@ -35,7 +36,7 @@ class SidekiqPauser
|
|||||||
while true do
|
while true do
|
||||||
break unless @mutex.synchronize { @extend_lease_thread }
|
break unless @mutex.synchronize { @extend_lease_thread }
|
||||||
redis.expire paused_key, 60
|
redis.expire paused_key, 60
|
||||||
sleep 30
|
sleep(Rails.env.test? ? 0.01 : 30)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ describe ActiveRecord::ConnectionHandling do
|
|||||||
let(:postgresql_fallback_handler) { PostgreSQLFallbackHandler.instance }
|
let(:postgresql_fallback_handler) { PostgreSQLFallbackHandler.instance }
|
||||||
|
|
||||||
before do
|
before do
|
||||||
|
@threads = Thread.list
|
||||||
postgresql_fallback_handler.initialized = true
|
postgresql_fallback_handler.initialized = true
|
||||||
|
|
||||||
['default', multisite_db].each do |db|
|
['default', multisite_db].each do |db|
|
||||||
@@ -35,10 +36,13 @@ describe ActiveRecord::ConnectionHandling do
|
|||||||
end
|
end
|
||||||
|
|
||||||
after do
|
after do
|
||||||
|
Sidekiq.unpause!
|
||||||
postgresql_fallback_handler.setup!
|
postgresql_fallback_handler.setup!
|
||||||
Discourse.disable_readonly_mode(Discourse::PG_READONLY_MODE_KEY)
|
Discourse.disable_readonly_mode(Discourse::PG_READONLY_MODE_KEY)
|
||||||
ActiveRecord::Base.unstub(:postgresql_connection)
|
ActiveRecord::Base.unstub(:postgresql_connection)
|
||||||
ActiveRecord::Base.establish_connection
|
ActiveRecord::Base.establish_connection
|
||||||
|
|
||||||
|
(Thread.list - @threads).each(&:join)
|
||||||
end
|
end
|
||||||
|
|
||||||
describe "#postgresql_fallback_connection" do
|
describe "#postgresql_fallback_connection" do
|
||||||
|
|||||||
Reference in New Issue
Block a user