pub struct DaemonContext {
pub daemon_name: String,
pub instance_id: Uuid,
/* private fields */
}Expand description
Context available to daemon handlers.
Fields§
§daemon_name: StringDaemon name.
instance_id: UuidUnique instance ID for this daemon execution.
Implementations§
Source§impl DaemonContext
impl DaemonContext
Sourcepub fn new(
daemon_name: String,
instance_id: Uuid,
db_pool: PgPool,
http_client: Client,
shutdown_rx: Receiver<bool>,
) -> Self
pub fn new( daemon_name: String, instance_id: Uuid, db_pool: PgPool, http_client: Client, shutdown_rx: Receiver<bool>, ) -> Self
Create a new daemon context.
Sourcepub fn with_env_provider(self, provider: Arc<dyn EnvProvider>) -> Self
pub fn with_env_provider(self, provider: Arc<dyn EnvProvider>) -> Self
Set environment provider.
pub fn db(&self) -> &PgPool
pub fn http(&self) -> &Client
Sourcepub fn is_shutdown_requested(&self) -> bool
pub fn is_shutdown_requested(&self) -> bool
Check if shutdown has been requested.
Sourcepub async fn shutdown_signal(&self)
pub async fn shutdown_signal(&self)
Wait for shutdown signal.
Use this in a tokio::select! to handle graceful shutdown:
ⓘ
tokio::select! {
_ = tokio::time::sleep(Duration::from_secs(60)) => {}
_ = ctx.shutdown_signal() => break,
}Trait Implementations§
Source§impl EnvAccess for DaemonContext
impl EnvAccess for DaemonContext
Source§fn env_provider(&self) -> &dyn EnvProvider
fn env_provider(&self) -> &dyn EnvProvider
Get the environment provider.
Source§fn env_or(&self, key: &str, default: &str) -> String
fn env_or(&self, key: &str, default: &str) -> String
Get an environment variable with a default value. Read more
Source§fn env_require(&self, key: &str) -> Result<String>
fn env_require(&self, key: &str) -> Result<String>
Get a required environment variable. Read more
Source§fn env_parse<T: FromStr>(&self, key: &str) -> Result<T>
fn env_parse<T: FromStr>(&self, key: &str) -> Result<T>
Get an environment variable and parse it to the specified type. Read more
Source§fn env_parse_or<T: FromStr>(&self, key: &str, default: T) -> Result<T>
fn env_parse_or<T: FromStr>(&self, key: &str, default: T) -> Result<T>
Get an environment variable and parse it, with a default. Read more
Source§fn env_contains(&self, key: &str) -> bool
fn env_contains(&self, key: &str) -> bool
Check if an environment variable is set.
Auto Trait Implementations§
impl !Freeze for DaemonContext
impl !RefUnwindSafe for DaemonContext
impl Send for DaemonContext
impl Sync for DaemonContext
impl Unpin for DaemonContext
impl !UnwindSafe for DaemonContext
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more