closes #1 Implements a background watchdog task that: 1. calls neptune-core /network rpc every N seconds (default: 10) 2. emits log message on any state change 3. sends detailed email alert to admin on any state change Changes: * AppState now has internal Arc<RwLock<AppStateInner>> to permit watchdog task to mutate the rpc_client field. * adjust application to AppState changes (use locks) * not_found functions no longer accept state arg * move state initialization into AppState::init() * add optional alert parameters: admin-email, smtp-* * add neptune_rpc module with watchdog task * add alert_email module * simplify main() * log warnings if alert parameters not set * add chrono dep * add lettre dep
9 lines
232 B
Rust
9 lines
232 B
Rust
use crate::model::app_state::AppStateInner;
|
|
use html_escaper::Escape;
|
|
|
|
#[derive(boilerplate::Boilerplate)]
|
|
#[boilerplate(filename = "web/html/components/header.html")]
|
|
pub struct HeaderHtml<'a> {
|
|
pub state: &'a AppStateInner,
|
|
}
|