Add automatic websocket reconnection
Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
This commit is contained in:
@@ -4,7 +4,8 @@ use crate::{
|
||||
};
|
||||
use log::info;
|
||||
use qrust::{
|
||||
types::{alpaca, Calendar},
|
||||
alpaca,
|
||||
types::{self, Calendar},
|
||||
utils::{backoff, duration_until},
|
||||
};
|
||||
use std::sync::Arc;
|
||||
@@ -21,8 +22,8 @@ pub struct Message {
|
||||
pub next_switch: OffsetDateTime,
|
||||
}
|
||||
|
||||
impl From<alpaca::api::incoming::clock::Clock> for Message {
|
||||
fn from(clock: alpaca::api::incoming::clock::Clock) -> Self {
|
||||
impl From<types::alpaca::api::incoming::clock::Clock> for Message {
|
||||
fn from(clock: types::alpaca::api::incoming::clock::Clock) -> Self {
|
||||
if clock.is_open {
|
||||
Self {
|
||||
status: Status::Open,
|
||||
@@ -40,7 +41,7 @@ impl From<alpaca::api::incoming::clock::Clock> for Message {
|
||||
pub async fn run(config: Arc<Config>, sender: mpsc::Sender<Message>) {
|
||||
loop {
|
||||
let clock_future = async {
|
||||
alpaca::api::incoming::clock::get(
|
||||
alpaca::clock::get(
|
||||
&config.alpaca_client,
|
||||
&config.alpaca_rate_limiter,
|
||||
Some(backoff::infinite()),
|
||||
@@ -51,10 +52,10 @@ pub async fn run(config: Arc<Config>, sender: mpsc::Sender<Message>) {
|
||||
};
|
||||
|
||||
let calendar_future = async {
|
||||
alpaca::api::incoming::calendar::get(
|
||||
alpaca::calendar::get(
|
||||
&config.alpaca_client,
|
||||
&config.alpaca_rate_limiter,
|
||||
&alpaca::api::outgoing::calendar::Calendar::default(),
|
||||
&types::alpaca::api::outgoing::calendar::Calendar::default(),
|
||||
Some(backoff::infinite()),
|
||||
&ALPACA_API_BASE,
|
||||
)
|
||||
|
Reference in New Issue
Block a user