Merge pull request #158 from redlib-org/oauth_proper_atomics
fix(oauth): reset rate limit earlier in refresh cycle
This commit is contained in:
commit
023cc8505b
@ -320,6 +320,7 @@ pub async fn json(path: String, quarantine: bool) -> Result<Value, String> {
|
|||||||
let current_rate_limit = OAUTH_RATELIMIT_REMAINING.load(Ordering::Relaxed);
|
let current_rate_limit = OAUTH_RATELIMIT_REMAINING.load(Ordering::Relaxed);
|
||||||
if current_rate_limit < 10 {
|
if current_rate_limit < 10 {
|
||||||
warn!("Rate limit {current_rate_limit} is low. Spawning force_refresh_token()");
|
warn!("Rate limit {current_rate_limit} is low. Spawning force_refresh_token()");
|
||||||
|
OAUTH_RATELIMIT_REMAINING.store(99, Ordering::Relaxed);
|
||||||
tokio::spawn(force_refresh_token());
|
tokio::spawn(force_refresh_token());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -133,7 +133,6 @@ pub async fn token_daemon() {
|
|||||||
pub async fn force_refresh_token() {
|
pub async fn force_refresh_token() {
|
||||||
trace!("Rolling over refresh token. Current rate limit: {}", OAUTH_RATELIMIT_REMAINING.load(Ordering::Relaxed));
|
trace!("Rolling over refresh token. Current rate limit: {}", OAUTH_RATELIMIT_REMAINING.load(Ordering::Relaxed));
|
||||||
OAUTH_CLIENT.write().await.refresh().await;
|
OAUTH_CLIENT.write().await.refresh().await;
|
||||||
OAUTH_RATELIMIT_REMAINING.store(99, Ordering::Relaxed);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Clone, Default)]
|
#[derive(Debug, Clone, Default)]
|
||||||
|
Loading…
Reference in New Issue
Block a user