Skip to content

Commit

Permalink
Improve load times by offloading requests to multiple tokens (#101)
Browse files Browse the repository at this point in the history
Signed-off-by: danbugs <[email protected]>
  • Loading branch information
danbugs authored Feb 21, 2024
1 parent 3e14f5c commit 4367169
Show file tree
Hide file tree
Showing 5 changed files with 64 additions and 8 deletions.
6 changes: 6 additions & 0 deletions .github/workflows/ci-cd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,12 @@ jobs:
env:
PIDGTM_DATABASE_URL: ${{ secrets.PIDGTM_DATABASE_URL }}
STARTGG_TOKEN: ${{ secrets.STARTGG_TOKEN }}
STARTGG_TOKEN_1: ${{ secrets.STARTGG_TOKEN_1 }}
STARTGG_TOKEN_2: ${{ secrets.STARTGG_TOKEN_2 }}
STARTGG_TOKEN_3: ${{ secrets.STARTGG_TOKEN_3 }}
STARTGG_TOKEN_4: ${{ secrets.STARTGG_TOKEN_4 }}
STARTGG_TOKEN_5: ${{ secrets.STARTGG_TOKEN_5 }}
STARTGG_TOKEN_6: ${{ secrets.STARTGG_TOKEN_6 }}

- name: Upload Code Coverage Results
uses: codecov/codecov-action@v3
Expand Down
1 change: 1 addition & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

36 changes: 33 additions & 3 deletions backend-deployment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,12 +22,42 @@ spec:
- name: PIDGTM_DATABASE_URL
valueFrom:
secretKeyRef:
name: backend-secrets
name: backend-secrets-multiple-tokens
key: PIDGTM_DATABASE_URL
- name: STARTGG_TOKEN
valueFrom:
secretKeyRef:
name: backend-secrets
name: backend-secrets-multiple-tokens
key: STARTGG_TOKEN
- name: STARTGG_TOKEN_1
valueFrom:
secretKeyRef:
name: backend-secrets-multiple-tokens
key: STARTGG_TOKEN_1
- name: STARTGG_TOKEN_2
valueFrom:
secretKeyRef:
name: backend-secrets-multiple-tokens
key: STARTGG_TOKEN_2
- name: STARTGG_TOKEN_3
valueFrom:
secretKeyRef:
name: backend-secrets-multiple-tokens
key: STARTGG_TOKEN_3
- name: STARTGG_TOKEN_4
valueFrom:
secretKeyRef:
name: backend-secrets-multiple-tokens
key: STARTGG_TOKEN_4
- name: STARTGG_TOKEN_5
valueFrom:
secretKeyRef:
name: backend-secrets-multiple-tokens
key: STARTGG_TOKEN_5
- name: STARTGG_TOKEN_6
valueFrom:
secretKeyRef:
name: backend-secrets-multiple-tokens
key: STARTGG_TOKEN_6
nodeSelector:
node: rpileaf02
node: rpileaf02
3 changes: 2 additions & 1 deletion startgg_api/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,5 @@ anyhow = "1"
gql_client = "1"
serde = "1"
as-any = "0.3"
tokio = { version = "1.1", features = [ "rt", "macros" ] }
tokio = { version = "1.1", features = [ "rt", "macros" ] }
rand = "0.8"
26 changes: 22 additions & 4 deletions startgg_api/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -199,10 +199,7 @@ pub struct StartGG {
impl StartGG {
pub fn connect() -> Self {
let mut headers = HashMap::new();
let bearer_token = format!(
"Bearer {}",
std::env::var("STARTGG_TOKEN").expect("could not find STARTGG_TOKEN env var")
);
let bearer_token = format!("Bearer {}", get_random_startgg_token());
headers.insert("authorization", bearer_token.as_str());
Self {
gql_client: gql_client::Client::new_with_headers(STARTGG_ENDPOINT, headers),
Expand All @@ -214,6 +211,19 @@ impl StartGG {
}
}

// Function to randomly get a STARTGG_TOKEN between STARTGG_TOKEN_1 and STARTGG_TOKEN_6
pub fn get_random_startgg_token() -> String {
let random_number = rand::random::<u8>() % 6 + 1;
let STARTGG_TOKEN = format!("STARTGG_TOKEN_{}", random_number);
match std::env::var(format!("STARTGG_TOKEN_{}", random_number)) {
Ok(token) => token,
Err(_) => {
eprintln!("Token not found for {}", STARTGG_TOKEN);
std::env::var("STARTGG_TOKEN").expect("STARTGG_TOKEN not found")
}
}
}

pub const SSBU_CHARACTERS: [(i32, &str); 87] = [
(1271, "Bayonetta"),
(1272, "Bowser Jr."),
Expand Down Expand Up @@ -303,3 +313,11 @@ pub const SSBU_CHARACTERS: [(i32, &str); 87] = [
(1846, "Kazuya"),
(1897, "Sora"),
];

#[cfg(test)]
mod tests {
#[test]
fn test_get_random_startgg_token() {
dbg!(crate::get_random_startgg_token());
}
}

0 comments on commit 4367169

Please sign in to comment.