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