Files
WebScraper/src/util/macros.rs

28 lines
955 B
Rust

// src/macros.rs
#[macro_export]
macro_rules! check_shutdown {
($shutdown_flag:expr) => {
if $shutdown_flag.load(std::sync::atomic::Ordering::SeqCst) {
logger::log_warn("Shutdown detected, stopping processes").await;
return Ok(());
}
};
}
/// Mark incomplete state on shutdown
/// Usage: mark_incomplete_on_shutdown!(&manager, "step_name", content_ref, DataStage::Data, &shutdown_flag)?;
#[macro_export]
macro_rules! mark_incomplete_on_shutdown {
($manager:expr, $step_name:expr, $content_ref:expr, $data_stage:expr, $shutdown_flag:expr) => {
if $shutdown_flag.load(std::sync::atomic::Ordering::SeqCst) {
$manager
.mark_incomplete(
$step_name.to_string(),
$content_ref,
$data_stage,
"Incomplete due to shutdown".to_string(),
)
.await?;
}
};
}