mirror of
https://github.com/PluralKit/PluralKit.git
synced 2026-02-04 04:56:49 +00:00
fix(gateway): remove superflous redis error handling code that actually created more errors
This commit is contained in:
parent
5fa9266d8d
commit
ec49ead783
4 changed files with 2 additions and 23 deletions
|
|
@ -3,7 +3,7 @@ use metrics::{counter, gauge};
|
||||||
use tracing::info;
|
use tracing::info;
|
||||||
use twilight_gateway::{Event, Latency};
|
use twilight_gateway::{Event, Latency};
|
||||||
|
|
||||||
use libpk::{state::*, util::redis::*};
|
use libpk::state::ShardState;
|
||||||
|
|
||||||
#[derive(Clone)]
|
#[derive(Clone)]
|
||||||
pub struct ShardStateManager {
|
pub struct ShardStateManager {
|
||||||
|
|
@ -24,11 +24,7 @@ impl ShardStateManager {
|
||||||
}
|
}
|
||||||
|
|
||||||
async fn get_shard(&self, shard_id: u32) -> anyhow::Result<ShardState> {
|
async fn get_shard(&self, shard_id: u32) -> anyhow::Result<ShardState> {
|
||||||
let data: Option<String> = self
|
let data: Option<String> = self.redis.hget("pluralkit:shardstatus", shard_id).await?;
|
||||||
.redis
|
|
||||||
.hget("pluralkit:shardstatus", shard_id)
|
|
||||||
.await
|
|
||||||
.to_option_or_error()?;
|
|
||||||
match data {
|
match data {
|
||||||
Some(buf) => Ok(serde_json::from_str(&buf).expect("could not decode shard data!")),
|
Some(buf) => Ok(serde_json::from_str(&buf).expect("could not decode shard data!")),
|
||||||
None => Ok(ShardState::default()),
|
None => Ok(ShardState::default()),
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,6 @@ use sentry_tracing::event_from_event;
|
||||||
|
|
||||||
pub mod db;
|
pub mod db;
|
||||||
pub mod state;
|
pub mod state;
|
||||||
pub mod util;
|
|
||||||
|
|
||||||
pub mod _config;
|
pub mod _config;
|
||||||
pub use crate::_config::CONFIG as config;
|
pub use crate::_config::CONFIG as config;
|
||||||
|
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
pub mod redis;
|
|
||||||
|
|
@ -1,15 +0,0 @@
|
||||||
use fred::error::RedisError;
|
|
||||||
|
|
||||||
pub trait RedisErrorExt<T> {
|
|
||||||
fn to_option_or_error(self) -> Result<Option<T>, RedisError>;
|
|
||||||
}
|
|
||||||
|
|
||||||
impl<T> RedisErrorExt<T> for Result<T, RedisError> {
|
|
||||||
fn to_option_or_error(self) -> Result<Option<T>, RedisError> {
|
|
||||||
match self {
|
|
||||||
Ok(v) => Ok(Some(v)),
|
|
||||||
Err(error) if error.is_not_found() => Ok(None),
|
|
||||||
Err(error) => Err(error),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue