mirror of
https://github.com/discourse/discourse.git
synced 2024-11-27 01:43:37 +08:00
Pause Sidekiq when postgres failovers.
This commit is contained in:
parent
229a10e142
commit
5f76e5062d
|
@ -32,7 +32,10 @@ class PostgreSQLFallbackHandler
|
|||
end
|
||||
|
||||
def master_down=(args)
|
||||
synchronize { @masters_down[namespace] = args }
|
||||
synchronize do
|
||||
@masters_down[namespace] = args
|
||||
Sidekiq.pause! if args
|
||||
end
|
||||
end
|
||||
|
||||
def master_up(namespace)
|
||||
|
@ -53,6 +56,7 @@ class PostgreSQLFallbackHandler
|
|||
|
||||
self.master_up(key)
|
||||
Discourse.disable_readonly_mode(Discourse::PG_READONLY_MODE_KEY)
|
||||
Sidekiq.unpause!
|
||||
end
|
||||
rescue => e
|
||||
logger.warn "#{log_prefix}: Connection to master PostgreSQL server failed with '#{e.message}'"
|
||||
|
|
|
@ -71,6 +71,7 @@ describe ActiveRecord::ConnectionHandling do
|
|||
.to change { Discourse.readonly_mode? }.from(false).to(true)
|
||||
|
||||
expect(postgresql_fallback_handler.master_down?).to eq(true)
|
||||
expect(Sidekiq.paused?).to eq(true)
|
||||
|
||||
with_multisite_db(multisite_db) do
|
||||
expect(postgresql_fallback_handler.master_down?).to eq(nil)
|
||||
|
@ -92,6 +93,7 @@ describe ActiveRecord::ConnectionHandling do
|
|||
|
||||
expect(Discourse.readonly_mode?).to eq(false)
|
||||
expect(postgresql_fallback_handler.master_down?).to eq(nil)
|
||||
expect(Sidekiq.paused?).to eq(false)
|
||||
expect(ActiveRecord::Base.connection_pool.connections.count).to eq(0)
|
||||
|
||||
skip("Figuring out why the following keeps failing to obtain a connection on Travis")
|
||||
|
|
Loading…
Reference in New Issue
Block a user