Struct apalis_core::context::JobContext
source · pub struct JobContext { /* private fields */ }Expand description
The context for a job is represented here Used to provide a context when a job is defined through the [Job] trait
Implementations§
source§impl JobContext
impl JobContext
sourcepub fn data_opt<D: Any + Send + Sync>(&self) -> Option<&D>
pub fn data_opt<D: Any + Send + Sync>(&self) -> Option<&D>
Get an optional reference to a type previously inserted on this JobContext.
Example
let mut ctx = JobContext::new(JobId::new());
assert!(ctx.data_opt::<i32>().is_none());
ctx.insert(5i32);
assert_eq!(ctx.data_opt::<i32>(), Some(&5i32));sourcepub fn data<D: Any + Send + Sync>(&self) -> Result<&D, JobError>
pub fn data<D: Any + Send + Sync>(&self) -> Result<&D, JobError>
Get a reference to a type previously inserted on this JobContext.
Errors
If the type requested is not in the JobContext
Example
let mut ctx = JobContext::new(JobId::new());
assert!(ctx.data::<i32>().is_err());
assert_eq!(
ctx.data::<i32>().unwrap_err().to_string(),
"MissingContext: Attempted to fetch context of i32. Did you add `.layer(Extension(i32))"
);
ctx.insert(5i32);
assert_eq!(ctx.data::<i32>().unwrap(), &5i32);sourcepub fn insert<D: Any + Send + Sync + Clone>(&mut self, data: D) -> Option<D>
pub fn insert<D: Any + Send + Sync + Clone>(&mut self, data: D) -> Option<D>
Insert a type into this JobContext.
Important for embedding data for a job. If a extension of this type already existed, it will be returned.
Example
let mut ctx = JobContext::new(JobId::new());
assert!(ctx.insert(5i32).is_none());
assert!(ctx.insert(4u8).is_none());
assert_eq!(ctx.insert(9i32), Some(5i32));sourcepub fn set_max_attempts(&mut self, max_attempts: i32)
pub fn set_max_attempts(&mut self, max_attempts: i32)
Set the number of attempts
sourcepub fn max_attempts(&self) -> i32
pub fn max_attempts(&self) -> i32
Gets the maximum attempts for a job. Default 25
sourcepub fn set_attempts(&mut self, attempts: i32)
pub fn set_attempts(&mut self, attempts: i32)
Set the number of attempts
sourcepub fn set_done_at(&mut self, done_at: Option<DateTime<Utc>>)
pub fn set_done_at(&mut self, done_at: Option<DateTime<Utc>>)
Set the time a job was done
sourcepub fn set_run_at(&mut self, run_at: DateTime<Utc>)
pub fn set_run_at(&mut self, run_at: DateTime<Utc>)
Set the time a job should run
sourcepub fn set_lock_at(&mut self, lock_at: Option<DateTime<Utc>>)
pub fn set_lock_at(&mut self, lock_at: Option<DateTime<Utc>>)
Set the lock_at value
sourcepub fn set_status(&mut self, status: JobState)
pub fn set_status(&mut self, status: JobState)
Set the job status
sourcepub fn set_lock_by(&mut self, lock_by: Option<WorkerId>)
pub fn set_lock_by(&mut self, lock_by: Option<WorkerId>)
Set lock_by
sourcepub fn last_error(&self) -> &Option<String>
pub fn last_error(&self) -> &Option<String>
Get the time a job was locked
sourcepub fn set_last_error(&mut self, error: String)
pub fn set_last_error(&mut self, error: String)
Set the last error
Trait Implementations§
source§impl Clone for JobContext
impl Clone for JobContext
source§fn clone(&self) -> JobContext
fn clone(&self) -> JobContext
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moresource§impl Debug for JobContext
impl Debug for JobContext
source§impl<'de> Deserialize<'de> for JobContext
impl<'de> Deserialize<'de> for JobContext
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl !RefUnwindSafe for JobContext
impl Send for JobContext
impl Sync for JobContext
impl Unpin for JobContext
impl !UnwindSafe for JobContext
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