ractor::factory::job

Struct Job

Source
pub struct Job<TKey, TMsg>
where TKey: JobKey, TMsg: Message,
{ pub key: TKey, pub msg: TMsg, pub options: JobOptions, pub accepted: Option<RpcReplyPort<Option<Self>>>, }
Expand description

Represents a job sent to a factory

Depending on the super::Factory’s routing scheme the Job’s key is utilized to dispatch the job to specific workers.

Fields§

§key: TKey

The key of the job

§msg: TMsg

The message of the job

§options: JobOptions

The job’s options, mainly related to timing information of the job

Default = JobOptions::default()

§accepted: Option<RpcReplyPort<Option<Self>>>

If provided, this channel can be used to block pushes into the factory until the factory can “accept” the message into its internal processing. This can be used to synchronize external threadpools to the Tokio processing pool and prevent overloading the unbounded channel which fronts all actors.

The reply channel return None if the job was accepted, or [Some(Job)] if it was rejected & loadshed, and then the job may be retried by the caller at a later time (if desired).

Default = None

Implementations§

Source§

impl<TKey, TMsg> Job<TKey, TMsg>
where TKey: JobKey, TMsg: Message,

Source

pub fn builder() -> JobBuilder<TKey, TMsg>

Create an instance of Job using the builder syntax

Source§

impl<TKey, TMsg> Job<TKey, TMsg>
where TKey: JobKey, TMsg: Message,

Source

pub fn is_expired(&self) -> bool

Determine if this job’s TTL is expired

Expiration only takes effect prior to the job being started execution on a worker.

Trait Implementations§

Source§

impl<TKey, TMsg> Debug for Job<TKey, TMsg>
where TKey: JobKey, TMsg: Message,

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<TKey, TMsg> Freeze for Job<TKey, TMsg>
where TKey: Freeze, TMsg: Freeze,

§

impl<TKey, TMsg> !RefUnwindSafe for Job<TKey, TMsg>

§

impl<TKey, TMsg> Send for Job<TKey, TMsg>

§

impl<TKey, TMsg> Sync for Job<TKey, TMsg>
where TMsg: Sync,

§

impl<TKey, TMsg> Unpin for Job<TKey, TMsg>
where TKey: Unpin, TMsg: Unpin,

§

impl<TKey, TMsg> !UnwindSafe for Job<TKey, TMsg>

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> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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<T> Message for T
where T: Any + Send + 'static,

Source§

fn from_boxed(m: BoxedMessage) -> Result<Self, BoxedDowncastErr>

Convert a BoxedMessage to this concrete type
Source§

fn box_message(self, pid: &ActorId) -> Result<BoxedMessage, BoxedDowncastErr>

Convert this message to a BoxedMessage
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<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
Source§

impl<T> State for T
where T: Any + Send + 'static,