retry if no servers in sync

This commit is contained in:
Bryan Stitt 2022-06-02 21:47:43 +00:00
parent 9df85c5628
commit 558af8edfd

View File

@ -484,7 +484,11 @@ impl Web3Connections {
Err(None) => { Err(None) => {
warn!(?self, "No servers in sync!"); warn!(?self, "No servers in sync!");
return Err(anyhow::anyhow!("no servers in sync")); // TODO: sleep how long? until synced_connections changes or rate limits are available
sleep(Duration::from_millis(200)).await;
continue;
// return Err(anyhow::anyhow!("no servers in sync"));
} }
Err(Some(retry_after)) => { Err(Some(retry_after)) => {
// TODO: move this to a helper function // TODO: move this to a helper function
@ -531,17 +535,23 @@ impl Web3Connections {
Err(None) => { Err(None) => {
warn!(?self, "No servers in sync!"); warn!(?self, "No servers in sync!");
// TODO: return a 502?
// TODO: i don't think this will ever happen // TODO: i don't think this will ever happen
return Err(anyhow::anyhow!("no available rpcs!")); // TODO: return a 502? if it does?
// return Err(anyhow::anyhow!("no available rpcs!"));
// TODO: sleep how long?
sleep(Duration::from_millis(200)).await;
continue;
} }
Err(Some(retry_after)) => { Err(Some(retry_after)) => {
// TODO: move this to a helper function // TODO: move this to a helper function
// sleep (TODO: with a lock?) until our rate limits should be available // sleep (TODO: with a lock?) until our rate limits should be available
// TODO: if a server catches up sync while we are waiting, we could stop waiting // TODO: if a server catches up sync while we are waiting, we could stop waiting
warn!("All rate limits exceeded. Sleeping");
sleep(retry_after).await; sleep(retry_after).await;
warn!("All rate limits exceeded. Sleeping"); continue;
} }
} }
} }