reactive_graph_runtime_service_api/
shutdown_manager.rs

1use async_trait::async_trait;
2use springtime_di::injectable;
3use uuid::Uuid;
4
5use reactive_graph_lifecycle::Lifecycle;
6
7// Ensure stable UUID for the shutdown entity
8pub static UUID_SHUTDOWN: Uuid = Uuid::from_u128(0x6ba7b8109e1511d150b400c04fd530c7);
9// pub static UUID_SHUTDOWN_TRIGGER: Uuid = Uuid::from_u128(0x6ba7b8109e1511d150b400c04fe530c7);
10
11#[injectable]
12#[async_trait]
13pub trait ShutdownManager: Send + Sync + Lifecycle {
14    fn do_shutdown(&self);
15
16    fn is_shutdown(&self) -> bool;
17}