From a5c883dbe6b0bc7f2d1c97c743eb5c85691bf901 Mon Sep 17 00:00:00 2001 From: Pakin Date: Fri, 6 Mar 2026 16:21:31 +0700 Subject: [PATCH] enable retry from git path Signed-off-by: Pakin --- src/main.rs | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/src/main.rs b/src/main.rs index b18b50f..f850409 100644 --- a/src/main.rs +++ b/src/main.rs @@ -369,13 +369,15 @@ async fn read( .await; } Err(_) => { + let lvc = latest_version.clone(); // concurrent fetch for i in 1..5 { + let latest_version_c = lvc.clone(); retry_cnt = i; // retry #1: get from redis let r1_key = get_key_cache( - recipe_param.country.clone(), - latest_version.to_string(), + recipe_param.clone().country, + latest_version_c.clone(), is_req_patch(&recipe_param), retry_cnt, ); @@ -412,6 +414,25 @@ async fn read( } } else { // retry get from git + let content = + match invoke_checkout_request(config.clone(), r1_key) + .await + { + Ok(file_content) => file_content, + Err(e) => { + println!("Error on checkout: {e}"); + "".to_string() + } + }; + let recipe: Recipe = serde_json::from_str(&content)?; + + throttle_send_recipe( + &recipe, + &tx, + recipe_param.clone().country, + latest_version_c.clone(), + ) + .await; } } }