Struct JobDefinition

Source
pub struct JobDefinition {
    pub job_type_id: Cow<'static, str>,
    pub target_execution_time: SystemTime,
    pub input_payload_json: String,
    pub labels: IndexMap<String, String>,
    pub timeout_policy: TimeoutPolicy,
    pub retry_policy: RetryPolicy,
    pub metadata_json: Option<String>,
}
Expand description

The definition of a job that can be executed in the future.

Fields§

§job_type_id: Cow<'static, str>

The ID of the job type.

§target_execution_time: SystemTime

The target execution time of the job.

If not provided, it should be set to the current time.

§input_payload_json: String

The job input payload JSON that is passed to the worker.

§labels: IndexMap<String, String>

The labels of the job.

§timeout_policy: TimeoutPolicy

The timeout policy of the job.

§retry_policy: RetryPolicy

Retry policy for the job.

§metadata_json: Option<String>

Additional metadata for the job.

Implementations§

Source§

impl JobDefinition

Source

pub fn at(self, target_execution_time: impl Into<SystemTime>) -> Self

Set the target execution time of the job.

Source

pub fn now(self) -> Self

Set the target execution time of the job to the current time.

Source

pub fn with_label( self, key: impl Into<String>, value: impl Into<String>, ) -> Self

Add a label to the job.

Source

pub fn with_label_json( self, key: impl Into<String>, value: impl Serialize, ) -> Self

Add a JSON label to the job.

§Panics

If the value cannot be serialized to JSON.

Source

pub fn with_timeout(self, timeout: impl Into<Duration>) -> Self

Set the timeout for the job.

The timeout is calculated from the start time of the job by default.

Source

pub fn with_retries(self, retries: u64) -> Self

Set the number of retries for the job.

Source

pub fn replace_metadata(self, metadata: impl Serialize) -> Self

Set additional metadata for the job.

Note that this will replace any existing metadata.

§Panics

If the metadata cannot be serialized to JSON.

Source§

impl JobDefinition

Source

pub fn repeat_every(self, interval: Duration) -> ScheduleDefinition

Create a schedule from the job definition that repeats at a fixed interval.

Source

pub fn repeat_cron( self, cron_expression: impl Into<String>, ) -> Result<ScheduleDefinition>

Create a schedule from the job definition that repeats according to a cron expression.

§Errors

If the cron expression is invalid.

Source§

impl JobDefinition

Source

pub fn into_typed_unknown(self) -> TypedJobDefinition

Cast the job definition to a typed job definition with an unknown job type.

Source

pub fn into_typed<J>(self) -> TypedJobDefinition<J>

Cast the job definition to a typed job definition with a known job type.

Trait Implementations§

Source§

impl Clone for JobDefinition

Source§

fn clone(&self) -> JobDefinition

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for JobDefinition

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl From<JobDefinition> for JobDefinition

Source§

fn from(definition: JobDefinition) -> Self

Converts to this type from the input type.
Source§

impl From<JobDefinition> for JobDefinition

Source§

fn from(definition: JobDefinition) -> Self

Converts to this type from the input type.
Source§

impl<J> From<JobDefinition> for TypedJobDefinition<J>

Source§

fn from(job_definition: JobDefinition) -> Self

Converts to this type from the input type.
Source§

impl<J> From<TypedJobDefinition<J>> for JobDefinition

Source§

fn from(typed: TypedJobDefinition<J>) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> DynClone for T
where T: Clone,

Source§

fn __clone_box(&self, _: Private) -> *mut ()

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> FromRef<T> for T
where T: Clone,

Source§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<W> IntoExecutionHandler for W
where W: Send + Sync + 'static,

Source§

fn handler<J>(self) -> Arc<dyn ExecutionHandlerRaw + Send + Sync>
where Self: ExecutionHandler<J>, J: JobType,

Convert self into a [RawHandler] that can be registered in workers.
Source§

impl<T> IntoRequest<T> for T

Source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more