aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2025-05-18 01:31:39 +0200
committermetamuffin <metamuffin@disroot.org>2025-05-18 01:31:39 +0200
commit4271431d21840f5b84bb238babc8e80fca638d2a (patch)
treea26d88a90f0a575a614d3f897104aa2e292989c7
parent15065f924214e00594bbc77ea9b4c7adf53c9b2a (diff)
downloadisda-4271431d21840f5b84bb238babc8e80fca638d2a.tar
isda-4271431d21840f5b84bb238babc8e80fca638d2a.tar.bz2
isda-4271431d21840f5b84bb238babc8e80fca638d2a.tar.zst
log load/save
-rw-r--r--src/main.rs8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/main.rs b/src/main.rs
index e0af010..0bba960 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -4,10 +4,12 @@ pub mod worker_ws;
use anyhow::Result;
use axum::{Router, routing::get};
+use log::{debug, info};
use serde_json::{Map, Value};
use std::{
collections::{HashMap, HashSet},
sync::Arc,
+ time::Instant,
};
use tokio::{
fs::{File, read_to_string, rename},
@@ -54,12 +56,16 @@ async fn main() -> Result<()> {
impl State {
pub async fn load(&mut self) -> Result<()> {
+ debug!("loading state");
+ let t = Instant::now();
self.metadata = serde_json::from_str(&read_to_string("metadata.json").await?)?;
self.queue = serde_json::from_str(&read_to_string("queue.json").await?)?;
self.complete = serde_json::from_str(&read_to_string("complete.json").await?)?;
+ info!("state loaded (took {:?})", t.elapsed());
Ok(())
}
pub async fn save(&mut self) -> Result<()> {
+ let t = Instant::now();
File::create("metadata.json~")
.await?
.write_all(&serde_json::to_vec(&self.metadata)?)
@@ -76,7 +82,7 @@ impl State {
rename("metadata.json~", "metadata.json").await?;
rename("queue.json~", "queue.json").await?;
rename("complete.json~", "complete.json").await?;
-
+ info!("state saved (took {:?})", t.elapsed());
Ok(())
}
}