simple refactoring
This commit is contained in:
parent
292b8f7770
commit
e91d9fc986
|
@ -1,8 +1,9 @@
|
||||||
mod rpcnode_define_checks;
|
mod rpcnode_define_checks;
|
||||||
|
|
||||||
use enum_iterator::Sequence;
|
|
||||||
use gethostname::gethostname;
|
use gethostname::gethostname;
|
||||||
use itertools::Itertools;
|
use itertools::Itertools;
|
||||||
|
use rpcnode_define_checks::Check;
|
||||||
|
use rpcnode_define_checks::CheckResult;
|
||||||
use serde_json::{json, Value};
|
use serde_json::{json, Value};
|
||||||
use std::collections::HashMap;
|
use std::collections::HashMap;
|
||||||
use std::process::{exit, ExitCode};
|
use std::process::{exit, ExitCode};
|
||||||
|
@ -12,22 +13,6 @@ use tracing::{debug, error, info, warn};
|
||||||
|
|
||||||
const TASK_TIMEOUT: Duration = Duration::from_millis(15000);
|
const TASK_TIMEOUT: Duration = Duration::from_millis(15000);
|
||||||
|
|
||||||
enum CheckResult {
|
|
||||||
Success(Check),
|
|
||||||
Timeout(Check),
|
|
||||||
}
|
|
||||||
|
|
||||||
#[derive(Clone, Debug, PartialEq, Sequence)]
|
|
||||||
enum Check {
|
|
||||||
RpcGpa,
|
|
||||||
RpcTokenAccouns,
|
|
||||||
RpcGsfa,
|
|
||||||
RpcGetAccountInfo,
|
|
||||||
GeyserAllAccounts,
|
|
||||||
GeyserTokenAccount,
|
|
||||||
WebsocketAccount,
|
|
||||||
}
|
|
||||||
|
|
||||||
async fn send_webook_discord(discord_body: Value) {
|
async fn send_webook_discord(discord_body: Value) {
|
||||||
let Ok(url) = std::env::var("DISCORD_WEBHOOK") else {
|
let Ok(url) = std::env::var("DISCORD_WEBHOOK") else {
|
||||||
info!("sending to discord is disabled");
|
info!("sending to discord is disabled");
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
use crate::{Check, CheckResult, TASK_TIMEOUT};
|
use crate::TASK_TIMEOUT;
|
||||||
use anyhow::Context;
|
use anyhow::Context;
|
||||||
|
use enum_iterator::Sequence;
|
||||||
use futures_util::{FutureExt, StreamExt};
|
use futures_util::{FutureExt, StreamExt};
|
||||||
use geyser_grpc_connector::grpc_subscription_autoreconnect_streams::create_geyser_reconnecting_stream;
|
use geyser_grpc_connector::grpc_subscription_autoreconnect_streams::create_geyser_reconnecting_stream;
|
||||||
use geyser_grpc_connector::{GrpcConnectionTimeouts, GrpcSourceConfig, Message};
|
use geyser_grpc_connector::{GrpcConnectionTimeouts, GrpcSourceConfig, Message};
|
||||||
|
@ -26,6 +27,22 @@ use websocket_tungstenite_retry::websocket_stable::{StableWebSocket, WsMessage};
|
||||||
use yellowstone_grpc_proto::geyser::subscribe_update::UpdateOneof;
|
use yellowstone_grpc_proto::geyser::subscribe_update::UpdateOneof;
|
||||||
use yellowstone_grpc_proto::geyser::{SubscribeRequest, SubscribeRequestFilterAccounts};
|
use yellowstone_grpc_proto::geyser::{SubscribeRequest, SubscribeRequestFilterAccounts};
|
||||||
|
|
||||||
|
#[derive(Clone, Debug, PartialEq, Sequence)]
|
||||||
|
pub enum Check {
|
||||||
|
RpcGpa,
|
||||||
|
RpcTokenAccouns,
|
||||||
|
RpcGsfa,
|
||||||
|
RpcGetAccountInfo,
|
||||||
|
GeyserAllAccounts,
|
||||||
|
GeyserTokenAccount,
|
||||||
|
WebsocketAccount,
|
||||||
|
}
|
||||||
|
|
||||||
|
pub enum CheckResult {
|
||||||
|
Success(Check),
|
||||||
|
Timeout(Check),
|
||||||
|
}
|
||||||
|
|
||||||
pub fn define_checks(checks_enabled: &[Check], all_check_tasks: &mut JoinSet<CheckResult>) {
|
pub fn define_checks(checks_enabled: &[Check], all_check_tasks: &mut JoinSet<CheckResult>) {
|
||||||
if checks_enabled.contains(&Check::RpcGpa) {
|
if checks_enabled.contains(&Check::RpcGpa) {
|
||||||
let rpc_client = read_rpc_config();
|
let rpc_client = read_rpc_config();
|
||||||
|
|
Loading…
Reference in New Issue