hunter/worker: limit token_tries
This commit is contained in:
parent
0a3508087e
commit
3937947f94
|
@ -295,12 +295,16 @@ async fn open_stream(
|
||||||
metrics::decrement_gauge!("hunter_requests", 1.0, "type" => "stream_open");
|
metrics::decrement_gauge!("hunter_requests", 1.0, "type" => "stream_open");
|
||||||
|
|
||||||
let mut prev_token: Option<String> = None;
|
let mut prev_token: Option<String> = None;
|
||||||
|
let mut token_tries = 0;
|
||||||
while let Err(StreamError::HttpStatus(StatusCode::UNAUTHORIZED)) = &stream {
|
while let Err(StreamError::HttpStatus(StatusCode::UNAUTHORIZED)) = &stream {
|
||||||
if let Some(invalid_token) = prev_token {
|
if let Some(invalid_token) = prev_token {
|
||||||
// If we tried with a token before but it's Unauthorized, delete it.
|
// If we tried with a token before but it's Unauthorized, delete it.
|
||||||
tracing::warn!("Deleting invalid token for host {}: {}", host, invalid_token);
|
tracing::warn!("Deleting invalid token for host {}: {}", host, invalid_token);
|
||||||
let _ = db.delete_token(&host, &invalid_token).await;
|
let _ = db.delete_token(&host, &invalid_token).await;
|
||||||
}
|
}
|
||||||
|
if token_tries > 3 {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
let token = db.get_token(&host).await
|
let token = db.get_token(&host).await
|
||||||
.expect("db.get_token()");
|
.expect("db.get_token()");
|
||||||
|
@ -313,7 +317,9 @@ async fn open_stream(
|
||||||
tracing::info!("No working token for {}", host);
|
tracing::info!("No working token for {}", host);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
prev_token = token;
|
prev_token = token;
|
||||||
|
token_tries += 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if let Err(e) = &stream {
|
if let Err(e) = &stream {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user