Fix possible crashes on .unwrap()s
Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
This commit is contained in:
@@ -138,9 +138,8 @@ pub async fn get_by_symbols(
|
|||||||
backoff: Option<ExponentialBackoff>,
|
backoff: Option<ExponentialBackoff>,
|
||||||
api_base: &str,
|
api_base: &str,
|
||||||
) -> Result<Vec<Asset>, Error> {
|
) -> Result<Vec<Asset>, Error> {
|
||||||
if symbols.len() < 2 {
|
if symbols.len() == 1 {
|
||||||
let symbol = symbols.first().unwrap();
|
let asset = get_by_symbol(client, rate_limiter, &symbols[0], backoff, api_base).await?;
|
||||||
let asset = get_by_symbol(client, rate_limiter, symbol, backoff, api_base).await?;
|
|
||||||
return Ok(vec![asset]);
|
return Ok(vec![asset]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -157,9 +157,8 @@ pub async fn get_by_symbols(
|
|||||||
backoff: Option<ExponentialBackoff>,
|
backoff: Option<ExponentialBackoff>,
|
||||||
api_base: &str,
|
api_base: &str,
|
||||||
) -> Result<Vec<Position>, reqwest::Error> {
|
) -> Result<Vec<Position>, reqwest::Error> {
|
||||||
if symbols.len() < 2 {
|
if symbols.len() == 1 {
|
||||||
let symbol = symbols.first().unwrap();
|
let position = get_by_symbol(client, rate_limiter, &symbols[0], backoff, api_base).await?;
|
||||||
let position = get_by_symbol(client, rate_limiter, symbol, backoff, api_base).await?;
|
|
||||||
return Ok(position.into_iter().collect());
|
return Ok(position.into_iter().collect());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -96,7 +96,7 @@ impl super::Handler for Handler {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async fn queue_backfill(&self, jobs: &HashMap<String, Job>) {
|
async fn queue_backfill(&self, jobs: &HashMap<String, Job>) {
|
||||||
if *ALPACA_SOURCE == Source::Sip {
|
if jobs.is_empty() || *ALPACA_SOURCE == Source::Sip {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -109,6 +109,10 @@ impl super::Handler for Handler {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async fn backfill(&self, jobs: HashMap<String, Job>) {
|
async fn backfill(&self, jobs: HashMap<String, Job>) {
|
||||||
|
if jobs.is_empty() {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
let symbols = jobs.keys().cloned().collect::<Vec<_>>();
|
let symbols = jobs.keys().cloned().collect::<Vec<_>>();
|
||||||
let fetch_from = jobs.values().map(|job| job.fetch_from).min().unwrap();
|
let fetch_from = jobs.values().map(|job| job.fetch_from).min().unwrap();
|
||||||
let fetch_to = jobs.values().map(|job| job.fetch_to).max().unwrap();
|
let fetch_to = jobs.values().map(|job| job.fetch_to).max().unwrap();
|
||||||
|
@@ -174,6 +174,10 @@ async fn handle_backfill_message(
|
|||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if jobs.is_empty() {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
let jobs = jobs
|
let jobs = jobs
|
||||||
.into_iter()
|
.into_iter()
|
||||||
.sorted_unstable_by_key(|job| job.1.fetch_from)
|
.sorted_unstable_by_key(|job| job.1.fetch_from)
|
||||||
|
@@ -57,7 +57,7 @@ impl super::Handler for Handler {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async fn queue_backfill(&self, jobs: &HashMap<String, Job>) {
|
async fn queue_backfill(&self, jobs: &HashMap<String, Job>) {
|
||||||
if *ALPACA_SOURCE == Source::Sip {
|
if jobs.is_empty() || *ALPACA_SOURCE == Source::Sip {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -71,6 +71,10 @@ impl super::Handler for Handler {
|
|||||||
|
|
||||||
#[allow(clippy::too_many_lines)]
|
#[allow(clippy::too_many_lines)]
|
||||||
async fn backfill(&self, jobs: HashMap<String, Job>) {
|
async fn backfill(&self, jobs: HashMap<String, Job>) {
|
||||||
|
if jobs.is_empty() {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
let symbols = jobs.keys().cloned().collect::<Vec<_>>();
|
let symbols = jobs.keys().cloned().collect::<Vec<_>>();
|
||||||
let fetch_from = jobs.values().map(|job| job.fetch_from).min().unwrap();
|
let fetch_from = jobs.values().map(|job| job.fetch_from).min().unwrap();
|
||||||
let fetch_to = jobs.values().map(|job| job.fetch_to).max().unwrap();
|
let fetch_to = jobs.values().map(|job| job.fetch_to).max().unwrap();
|
||||||
|
Reference in New Issue
Block a user