Struct transact::workload::WorkloadRunner
source · pub struct WorkloadRunner { /* private fields */ }
Expand description
Keeps track of the currenlty running workloads.
The WorkloadRunner
enables running different workloads, against different targets at
different rates without needing to set up multiple runners.
Implementations§
source§impl WorkloadRunner
impl WorkloadRunner
sourcepub fn add_workload(
&mut self,
id: String,
workload: Box<dyn BatchWorkload>,
targets: Vec<String>,
time_to_wait: Duration,
auth: String,
get_batch_status: bool,
duration: Option<Duration>,
request_counter: Arc<HttpRequestCounter>
) -> Result<(), WorkloadRunnerError>
pub fn add_workload( &mut self, id: String, workload: Box<dyn BatchWorkload>, targets: Vec<String>, time_to_wait: Duration, auth: String, get_batch_status: bool, duration: Option<Duration>, request_counter: Arc<HttpRequestCounter> ) -> Result<(), WorkloadRunnerError>
Starts running a new workload
Arguments
id
- A unique ID for the workloadworkload
- TheBatchWorkload
used to generate the batches that will be submittedtargets
- A list of URL for submitting the batches. The URL provided must be the full URL before adding/batches
for submissiontime_to_wait
- The amount of time to wait between batch submissionsauth
- The string to be set in the Authorization header for the requestget_batch_status
- Determines if the workload should compare the result of a batch after it is submitted to the expected resultduration
- The amount of time the workload should run forrequest_counter
- Tracks the submitted requests for logging
Returns an error if a workload with that ID is already running or if the workload thread could not be started
sourcepub fn remove_workload(&mut self, id: &str) -> Result<(), WorkloadRunnerError>
pub fn remove_workload(&mut self, id: &str) -> Result<(), WorkloadRunnerError>
Stops running a workload
Arguments
id
- A unique ID for the workload that should be stopped
Returns an error if a workload with that ID does not exist or if the workload cannot be cleanly shutdown
sourcepub fn shutdown_signaler(&self) -> WorkerShutdownSignaler
pub fn shutdown_signaler(&self) -> WorkerShutdownSignaler
Return a WorkerShutdownSignaler, used to send a shutdown signal to the Worker
threads.
sourcepub fn wait_for_shutdown(self) -> Result<(), WorkloadRunnerError>
pub fn wait_for_shutdown(self) -> Result<(), WorkloadRunnerError>
Block until the threads have shutdown.
Trait Implementations§
source§impl Default for WorkloadRunner
impl Default for WorkloadRunner
source§fn default() -> WorkloadRunner
fn default() -> WorkloadRunner
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl !RefUnwindSafe for WorkloadRunner
impl Send for WorkloadRunner
impl Sync for WorkloadRunner
impl Unpin for WorkloadRunner
impl !UnwindSafe for WorkloadRunner
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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoSql for T
impl<T> IntoSql for T
source§fn into_sql<T>(self) -> Self::Expressionwhere
Self: AsExpression<T> + Sized,
fn into_sql<T>(self) -> Self::Expressionwhere
Self: AsExpression<T> + Sized,
Convert
self
to an expression for Diesel’s query builder. Read moresource§fn as_sql<'a, T>(&'a self) -> <&'a Self as AsExpression<T>>::Expressionwhere
&'a Self: AsExpression<T>,
fn as_sql<'a, T>(&'a self) -> <&'a Self as AsExpression<T>>::Expressionwhere
&'a Self: AsExpression<T>,
Convert
&self
to an expression for Diesel’s query builder. Read more§impl<T> SafeBorrow<T> for Twhere
T: ?Sized,
impl<T> SafeBorrow<T> for Twhere
T: ?Sized,
§fn borrow_replacement(ptr: &T) -> &T
fn borrow_replacement(ptr: &T) -> &T
Given
ptr
, which was obtained from a prior call to Self::borrow()
,
return a value with the same nominal lifetime which is guaranteed to
survive mutations to Self
. Read more