Merge pull request #157 from mCaptcha/fix-154

fix: exit loop when paginated DB query in easy PoW auto-enhance loop returns empty array
This commit is contained in:
Aravinth Manivannan
2024-03-24 08:53:08 +05:30
committed by GitHub
2 changed files with 7 additions and 3 deletions

View File

@@ -34,11 +34,11 @@ enable_stats = true
[captcha.default_difficulty_strategy] [captcha.default_difficulty_strategy]
avg_traffic_difficulty = 50000 # almost instant solution avg_traffic_difficulty = 50000 # almost instant solution
#avg_traffic_time = 1 # almost instant solution avg_traffic_time = 1 # almost instant solution
peak_sustainable_traffic_difficulty = 3000000 # roughly 1.5s peak_sustainable_traffic_difficulty = 3000000 # roughly 1.5s
#peak_sustainable_traffic_time = 3 peak_sustainable_traffic_time = 3
broke_my_site_traffic_difficulty = 5000000 # greater than 3.5s broke_my_site_traffic_difficulty = 5000000 # greater than 3.5s
#broke_my_site_traffic_time = 5 broke_my_site_traffic_time = 5
duration = 30 # cooldown period in seconds duration = 30 # cooldown period in seconds
[database] [database]

View File

@@ -55,6 +55,9 @@ impl UpdateEasyCaptcha {
} }
let mut patterns = data.db.get_all_easy_captchas(limit, offset).await?; let mut patterns = data.db.get_all_easy_captchas(limit, offset).await?;
if patterns.is_empty() {
break;
}
for pattern in patterns.drain(0..) { for pattern in patterns.drain(0..) {
if !Self::can_run(rx) { if !Self::can_run(rx) {
return Ok(()); return Ok(());
@@ -85,6 +88,7 @@ impl UpdateEasyCaptcha {
} }
page += 1; page += 1;
} }
Ok(())
} }
fn can_run(rx: &mut Receiver<()>) -> bool { fn can_run(rx: &mut Receiver<()>) -> bool {