#[non_exhaustive]pub struct CronContext {
pub run_id: Uuid,
pub cron_name: String,
pub scheduled_time: DateTime<Utc>,
pub execution_time: DateTime<Utc>,
pub timezone: String,
pub is_catch_up: bool,
pub auth: AuthContext,
/* private fields */
}Expand description
Context available to cron handlers.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.run_id: Uuid§cron_name: String§scheduled_time: DateTime<Utc>§execution_time: DateTime<Utc>§timezone: String§is_catch_up: bool§auth: AuthContextImplementations§
Source§impl CronContext
impl CronContext
Sourcepub fn new(
run_id: Uuid,
cron_name: impl Into<String>,
scheduled_time: DateTime<Utc>,
timezone: String,
is_catch_up: bool,
db_pool: PgPool,
http_client: CircuitBreakerClient,
) -> Self
pub fn new( run_id: Uuid, cron_name: impl Into<String>, scheduled_time: DateTime<Utc>, timezone: String, is_catch_up: bool, db_pool: PgPool, http_client: CircuitBreakerClient, ) -> Self
Create a new cron context.
Sourcepub fn with_kv(self, kv: Arc<dyn KvHandle>) -> Self
pub fn with_kv(self, kv: Arc<dyn KvHandle>) -> Self
Attach a KV store handle. Called by the runtime before handing the context to the handler.
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) -> ForgeDb
Sourcepub async fn conn(&self) -> Result<ForgeConn<'static>>
pub async fn conn(&self) -> Result<ForgeConn<'static>>
Acquire a connection compatible with sqlx compile-time checked macros.
pub fn http(&self) -> HttpClient
pub fn raw_http(&self) -> &Client
pub fn set_http_timeout(&mut self, timeout: Option<Duration>)
Sourcepub fn with_auth(self, auth: AuthContext) -> Self
pub fn with_auth(self, auth: AuthContext) -> Self
Set authentication context.
Trait Implementations§
Source§impl EnvAccess for CronContext
impl EnvAccess for CronContext
fn env_provider(&self) -> &dyn EnvProvider
fn env(&self, key: &str) -> Option<String>
fn env_or(&self, key: &str, default: &str) -> String
fn env_require(&self, key: &str) -> Result<String>
fn env_parse<T: FromStr>(&self, key: &str) -> Result<T>
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>
Returns the default when unset; errors only if the variable is set but unparseable.
fn env_contains(&self, key: &str) -> bool
Auto Trait Implementations§
impl Freeze for CronContext
impl !RefUnwindSafe for CronContext
impl Send for CronContext
impl Sync for CronContext
impl Unpin for CronContext
impl UnsafeUnpin for CronContext
impl !UnwindSafe for CronContext
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