Struct JobHandle

Source
pub struct JobHandle<J = (), C = Channel> { /* private fields */ }
Expand description

A handle to a single job.

The handle also caches the details of the job, so that they can be accessed without making a network request.

Implementations§

Source§

impl<J, C> JobHandle<J, C>
where C: GrpcService<BoxBody> + Clone, C::Error: Into<StdError>, C::ResponseBody: Body<Data = Bytes> + Send + 'static, <C::ResponseBody as Body>::Error: Into<StdError> + Send,

Source

pub fn id(&self) -> Uuid

Get the ID of the job.

Source

pub async fn details(&self) -> Result<Arc<JobDetails>>

Get the details of the job.

Source

pub async fn status(&self) -> Result<JobStatus>

Get the status of the job.

Source

pub fn details_cached(&self) -> Option<Arc<JobDetails>>

Get the cached details of the job, if available.

This is useful for getting the details of a job without making a network request.

Source

pub async fn cancel(&self) -> Result<()>

Cancel the job.

Source

pub fn cast_type<T: JobType>(&self) -> JobHandle<T, C>

Cast the job handle to a specific job type.

This does not perform any runtime checks, so it is up to the caller to ensure that the job type is correct.

Source

pub fn cast_unknown(&self) -> JobHandle<(), C>

Cast the job handle to an unknown job type.

Source§

impl<J, C> JobHandle<J, C>
where J: JobType, C: GrpcService<BoxBody> + Clone, C::Error: Into<StdError>, C::ResponseBody: Body<Data = Bytes> + Send + 'static, <C::ResponseBody as Body>::Error: Into<StdError> + Send,

Source

pub async fn input(&self) -> Result<J>

Retrieve the input of the job.

Source

pub async fn wait(&self) -> Result<J::Output>

Retrieve the output of the job.

Source

pub async fn wait_with_interval(&self, interval: Duration) -> Result<J::Output>

Retrieve the output of the job with a given polling interval.

Trait Implementations§

Source§

impl<J> Clone for JobHandle<J>

Source§

fn clone(&self) -> Self

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<J: Debug, C: Debug> Debug for JobHandle<J, C>

Source§

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

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

impl<J, C> IntoFuture for JobHandle<J, C>
where J: JobType, C: GrpcService<BoxBody> + Clone + Send + Sync + 'static, <C as GrpcService<BoxBody>>::Future: Send, C::Error: Into<StdError> + Send, C::ResponseBody: Body<Data = Bytes> + Send + 'static, <C::ResponseBody as Body>::Error: Into<StdError> + Send,

Source§

type Output = Result<<J as JobType>::Output, Report>

The output that the future will produce on completion.
Source§

type IntoFuture = Pin<Box<dyn Future<Output = <JobHandle<J, C> as IntoFuture>::Output> + Send>>

Which kind of future are we turning this into?
Source§

fn into_future(self) -> Self::IntoFuture

Creates a future from a value. Read more

Auto Trait Implementations§

§

impl<J = (), C = Channel> !Freeze for JobHandle<J, C>

§

impl<J = (), C = Channel> !RefUnwindSafe for JobHandle<J, C>

§

impl<J, C> Send for JobHandle<J, C>
where J: Send, C: Send,

§

impl<J, C> Sync for JobHandle<J, C>
where J: Sync, C: Sync,

§

impl<J, C> Unpin for JobHandle<J, C>
where J: Unpin, C: Unpin,

§

impl<J = (), C = Channel> !UnwindSafe for JobHandle<J, C>

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, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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