File tree Expand file tree Collapse file tree 2 files changed +10
-2
lines changed
Expand file tree Collapse file tree 2 files changed +10
-2
lines changed Original file line number Diff line number Diff line change @@ -78,7 +78,7 @@ def start!
7878
7979 @config . initial_heartbeat_delays . each do |heartbeat_delay |
8080 @worker . delay ( heartbeat_delay ) do
81- # send_heartbeat
81+ send_heartbeat
8282 @config . logger . info ( "Executed initial heartbeat after #{ heartbeat_delay } seconds" )
8383 end
8484 end
Original file line number Diff line number Diff line change @@ -69,9 +69,17 @@ def increment(key)
6969 end
7070
7171 def settings_changed? ( settings )
72+ # If we don't have previous settings stored, we can't tell if they've
73+ # changed here — the caller will already create a new bucket when that
74+ # happens (i.e. when +bucket+ is nil), so we treat this as "no change".
7275 return false if @settings . nil?
7376
74- !@settings . equal? ( settings )
77+ # Compare by value instead of by object identity so that recreating
78+ # settings objects (e.g. on heartbeat) with the same effective config
79+ # does not reset the rate limiting buckets.
80+ @settings . period != settings . period ||
81+ @settings . max_requests != settings . max_requests ||
82+ @settings . enabled? != settings . enabled?
7583 end
7684
7785 private
You can’t perform that action at this time.
0 commit comments