Browse Source

Refactor sliding-window rate limiter to improve push timestamp management

pull/25520/head
selmankoc 5 months ago
parent
commit
5b447a999a
  1. 9
      nupkg/push_packages.ps1

9
nupkg/push_packages.ps1

@ -35,8 +35,13 @@ foreach($project in $projects) {
if ($maxPushesPerHour -gt 0)
{
$windowStart = (Get-Date).AddHours(-1)
$recentPushes = $pushTimestamps | Where-Object { $_ -gt $windowStart }
$pushTimestamps = [System.Collections.Generic.List[datetime]]$recentPushes
$recentPushes = @($pushTimestamps | Where-Object { $_ -gt $windowStart })
$trimmedPushTimestamps = [System.Collections.Generic.List[datetime]]::new()
foreach ($timestamp in $recentPushes)
{
[void]$trimmedPushTimestamps.Add($timestamp)
}
$pushTimestamps = $trimmedPushTimestamps
if ($pushTimestamps.Count -ge $maxPushesPerHour)
{

Loading…
Cancel
Save