pub struct Builder<J: Job + 'static> { /* private fields */ }
Expand description
Builder of JobRunner
Implementations§
Source§impl<J: Job + Send + 'static> Builder<J>
impl<J: Job + Send + 'static> Builder<J>
Sourcepub fn enable_merge(self, f: fn(J, &mut J) -> MergeResult<J>) -> Self
pub fn enable_merge(self, f: fn(J, &mut J) -> MergeResult<J>) -> Self
Enable merging of Jobs in the queue, if a merge function is provided here, it will be tried with each job added to the queue against each job already in the queue
Source§impl<J: Job + Send + RecurrableJob + 'static> Builder<J>
impl<J: Job + Send + RecurrableJob + 'static> Builder<J>
Sourcepub fn set_recurring(
self,
interval: Duration,
last_enqueue: Instant,
job: J,
) -> Self
pub fn set_recurring( self, interval: Duration, last_enqueue: Instant, job: J, ) -> Self
Set a job as recurring, the job will be enqueued every time interval
passes since the last_enqueue
of a matching job
Source§impl<J: Job + Send + 'static> Builder<J>
impl<J: Job + Send + 'static> Builder<J>
Sourcepub fn limit_concurrency(
self,
concurrency_limit: impl Fn(<J as Job>::Priority) -> Option<u8> + Send + Sync + 'static,
) -> Self
pub fn limit_concurrency( self, concurrency_limit: impl Fn(<J as Job>::Priority) -> Option<u8> + Send + Sync + 'static, ) -> Self
Function determining, for each priority, how many threads can be allocated to jobs of this priority, any remaining threads will be left idle to service higher-priority jobs. None
means parallelism won’t be limited
Trait Implementations§
Auto Trait Implementations§
impl<J> Freeze for Builder<J>
impl<J> !RefUnwindSafe for Builder<J>
impl<J> Send for Builder<J>
impl<J> !Sync for Builder<J>
impl<J> Unpin for Builder<J>
impl<J> !UnwindSafe for Builder<J>
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