Skip to content

Commit fed6167

Browse files
authored
fix: retry and attempt with errors (#514)
* fix: always delay before next request * change approach * bump
1 parent 4f93d5c commit fed6167

File tree

3 files changed

+11
-3
lines changed

3 files changed

+11
-3
lines changed

godot/export_presets.cfg

+1-1
Original file line numberDiff line numberDiff line change
@@ -394,7 +394,7 @@ architectures/armeabi-v7a=false
394394
architectures/arm64-v8a=true
395395
architectures/x86=false
396396
architectures/x86_64=true
397-
version/code=16
397+
version/code=17
398398
version/name="1.0"
399399
package/unique_name="org.decentraland.godotexplorer"
400400
package/name="Decentraland"

lib/src/auth/decentraland_auth_server.rs

+9-1
Original file line numberDiff line numberDiff line change
@@ -56,13 +56,22 @@ async fn fetch_polling_server(
5656
) -> Result<(String, serde_json::Value), anyhow::Error> {
5757
let url = format!("{AUTH_SERVER_ENDPOINT_URL}/{req_id}");
5858
let mut attempt = 0;
59+
let mut requested_time = std::time::Instant::now();
60+
5961
loop {
6062
tracing::debug!("trying req_id {:?} attempt ${attempt}", req_id);
6163
if attempt >= AUTH_SERVER_RETRIES {
6264
return Err(anyhow::Error::msg("too many atempts"));
6365
}
6466
attempt += 1;
6567

68+
let diff = (std::time::Instant::now() - requested_time).as_millis() as i64;
69+
let remaining_delay = (AUTH_SERVER_RETRY_INTERVAL.as_millis() as i64) - diff;
70+
if remaining_delay > 0 {
71+
tokio::time::sleep(Duration::from_millis(remaining_delay as u64)).await;
72+
}
73+
74+
requested_time = std::time::Instant::now();
6675
let response = reqwest::Client::builder()
6776
.timeout(AUTH_SERVER_REQUEST_TIMEOUT)
6877
.build()
@@ -74,7 +83,6 @@ async fn fetch_polling_server(
7483
let response = match response {
7584
Ok(response) => {
7685
if response.status().as_u16() == 204 {
77-
tokio::time::sleep(AUTH_SERVER_RETRY_INTERVAL).await;
7886
continue;
7987
} else if response.status().is_success() {
8088
match response.json::<RequestResult>().await {

lib/src/dcl/js/runtime.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ fn op_get_file_url(
4646
});
4747
}
4848

49-
Err(anyhow!("not found"))
49+
Err(anyhow!("not found {filename}"))
5050
}
5151

5252
#[op]

0 commit comments

Comments
 (0)