mirror of
https://github.com/discourse/discourse.git
synced 2025-03-26 18:57:25 +08:00
FIX: DiscourseRedis::FallbackHandler
not restricting number of threads spawned.
This commit is contained in:
parent
9e50f36c50
commit
862b4fc9da
@ -18,7 +18,7 @@ class DiscourseRedis
|
|||||||
|
|
||||||
def verify_master
|
def verify_master
|
||||||
synchronize do
|
synchronize do
|
||||||
return if @running && !recently_checked?
|
return if @running || recently_checked?
|
||||||
@running = true
|
@running = true
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -58,7 +58,7 @@ class DiscourseRedis
|
|||||||
|
|
||||||
def recently_checked?
|
def recently_checked?
|
||||||
if @last_checked
|
if @last_checked
|
||||||
Time.zone.now > (@last_checked + 5.seconds)
|
Time.zone.now <= (@last_checked + 5.seconds)
|
||||||
else
|
else
|
||||||
false
|
false
|
||||||
end
|
end
|
||||||
|
@ -96,6 +96,14 @@ describe DiscourseRedis do
|
|||||||
fallback_handler.master = true
|
fallback_handler.master = true
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it "should restrict the number of checks" do
|
||||||
|
expect { fallback_handler.verify_master }.to change { Thread.list.count }.by(1)
|
||||||
|
expect(fallback_handler.master).to eq(true)
|
||||||
|
|
||||||
|
fallback_handler.master = false
|
||||||
|
expect { fallback_handler.verify_master }.to_not change { Thread.list.count }
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
Loading…
x
Reference in New Issue
Block a user