#[tracing::instrument(level = "trace", name = "shutdown", target = "platform")]
pub async fn graceful_shutdown() {
tokio::signal::ctrl_c()
.await
.expect("Failed to gracefully shutdown the platform");
tracing::trace!("Signal received; shutting down the platform and related services...");
}
#[inline]
pub fn systime() -> u128 {
std::time::SystemTime::now()
.duration_since(std::time::UNIX_EPOCH)
.unwrap()
.as_millis()
}
#[inline]
pub fn std_time() -> core::time::Duration {
std::time::SystemTime::now()
.duration_since(std::time::UNIX_EPOCH)
.unwrap()
}
pub fn timestamp() -> i64 {
chrono::Local::now().timestamp()
}