retry fetching block 10 times because of rpc timeouts
This commit is contained in:
parent
cb2e32db9e
commit
b214b95473
30
src/main.rs
30
src/main.rs
|
@ -567,7 +567,10 @@ fn confirmations_by_blocks(
|
||||||
.name("getting blocks and searching transactions".to_string())
|
.name("getting blocks and searching transactions".to_string())
|
||||||
.spawn(move || {
|
.spawn(move || {
|
||||||
for slot in slot_batch {
|
for slot in slot_batch {
|
||||||
let block = client
|
// retry search for block 10 times
|
||||||
|
let mut block = None;
|
||||||
|
for i in 0..=10 {
|
||||||
|
let block_res = client
|
||||||
.get_block_with_config(
|
.get_block_with_config(
|
||||||
slot,
|
slot,
|
||||||
RpcBlockConfig {
|
RpcBlockConfig {
|
||||||
|
@ -577,16 +580,29 @@ fn confirmations_by_blocks(
|
||||||
commitment: Some(commitment_confirmation),
|
commitment: Some(commitment_confirmation),
|
||||||
max_supported_transaction_version: None,
|
max_supported_transaction_version: None,
|
||||||
},
|
},
|
||||||
)
|
);
|
||||||
.unwrap();
|
|
||||||
|
match block_res {
|
||||||
|
Ok(x) => {
|
||||||
|
block = Some(x);
|
||||||
|
break;
|
||||||
|
},
|
||||||
|
_=>{
|
||||||
|
// do nothing
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
let block = block.unwrap();
|
||||||
|
|
||||||
let mut mm_transaction_count: u64 = 0;
|
let mut mm_transaction_count: u64 = 0;
|
||||||
let rewards = &block.rewards.unwrap();
|
let rewards = &block.rewards.unwrap();
|
||||||
let slot_leader = rewards
|
let slot_leader = match rewards
|
||||||
.iter()
|
.iter()
|
||||||
.find(|r| r.reward_type == Some(RewardType::Fee))
|
.find(|r| r.reward_type == Some(RewardType::Fee))
|
||||||
.unwrap()
|
{
|
||||||
.pubkey
|
Some(x) => x.pubkey.clone(),
|
||||||
.to_string();
|
None=> "".to_string(),
|
||||||
|
};
|
||||||
|
|
||||||
if let Some(transactions) = block.transactions {
|
if let Some(transactions) = block.transactions {
|
||||||
let nb_transactions = transactions.len();
|
let nb_transactions = transactions.len();
|
||||||
|
|
Loading…
Reference in New Issue