pub struct CheckpointWorkerManager { /* private fields */ }Expand description
Manages the checkpoint server thread lifecycle.
Implementations§
Source§impl CheckpointWorkerManager
impl CheckpointWorkerManager
Sourcepub fn get_instance(
params: Option<CheckpointWorkerParams>,
) -> Result<Arc<CheckpointWorkerManager>, TestError>
pub fn get_instance( params: Option<CheckpointWorkerParams>, ) -> Result<Arc<CheckpointWorkerManager>, TestError>
Get or create the singleton instance.
If the singleton already exists and params is Some with values that differ
from the existing instance’s configuration, an error is returned. Pass None
to accept whatever configuration the existing instance has.
Sourcepub fn reset_instance_for_testing()
pub fn reset_instance_for_testing()
Reset the singleton instance (for testing).
Note: This method should be called from a non-async context or at the start of a test before any async operations. If called from within an async context, it will skip the graceful shutdown and just clear the instance.
Sourcepub async fn send_api_request(
&self,
api_type: ApiType,
payload: String,
) -> Result<WorkerApiResponse, TestError>
pub async fn send_api_request( &self, api_type: ApiType, payload: String, ) -> Result<WorkerApiResponse, TestError>
Send an API request to the checkpoint server and wait for response.
Sourcepub async fn shutdown(self) -> Result<(), TestError>
pub async fn shutdown(self) -> Result<(), TestError>
Gracefully shut down the checkpoint server.
Sourcepub fn shutdown_sync(self) -> Result<(), TestError>
pub fn shutdown_sync(self) -> Result<(), TestError>
Synchronous shutdown (for use in Drop or non-async contexts).
Sourcepub fn params(&self) -> &CheckpointWorkerParams
pub fn params(&self) -> &CheckpointWorkerParams
Get the configuration parameters.
Source§impl CheckpointWorkerManager
impl CheckpointWorkerManager
Sourcepub async fn send_callback_success(
&self,
callback_id: &str,
result: &str,
) -> Result<(), DurableError>
pub async fn send_callback_success( &self, callback_id: &str, result: &str, ) -> Result<(), DurableError>
Send a callback success response.
Sourcepub async fn send_callback_failure(
&self,
callback_id: &str,
error: &ErrorObject,
) -> Result<(), DurableError>
pub async fn send_callback_failure( &self, callback_id: &str, error: &ErrorObject, ) -> Result<(), DurableError>
Send a callback failure response.
Sourcepub async fn send_callback_heartbeat(
&self,
callback_id: &str,
) -> Result<(), DurableError>
pub async fn send_callback_heartbeat( &self, callback_id: &str, ) -> Result<(), DurableError>
Send a callback heartbeat.
Sourcepub async fn get_nodejs_history_events(
&self,
execution_id: &str,
) -> Result<Vec<NodeJsHistoryEvent>, DurableError>
pub async fn get_nodejs_history_events( &self, execution_id: &str, ) -> Result<Vec<NodeJsHistoryEvent>, DurableError>
Get Node.js-compatible history events for an execution.
Returns events in the Node.js SDK compatible format, suitable for cross-SDK history comparison. These events use PascalCase field names and include detailed event-specific information.
§Arguments
execution_id- The execution ID to get history events for
§Returns
A vector of Node.js-compatible history events.
Trait Implementations§
Source§impl DurableServiceClient for CheckpointWorkerManager
impl DurableServiceClient for CheckpointWorkerManager
Source§fn checkpoint<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
durable_execution_arn: &'life1 str,
checkpoint_token: &'life2 str,
operations: Vec<OperationUpdate>,
) -> Pin<Box<dyn Future<Output = Result<CheckpointResponse, DurableError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn checkpoint<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
durable_execution_arn: &'life1 str,
checkpoint_token: &'life2 str,
operations: Vec<OperationUpdate>,
) -> Pin<Box<dyn Future<Output = Result<CheckpointResponse, DurableError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Source§fn get_operations<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
durable_execution_arn: &'life1 str,
_next_marker: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<GetOperationsResponse, DurableError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn get_operations<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
durable_execution_arn: &'life1 str,
_next_marker: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<GetOperationsResponse, DurableError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Auto Trait Implementations§
impl Freeze for CheckpointWorkerManager
impl !RefUnwindSafe for CheckpointWorkerManager
impl Send for CheckpointWorkerManager
impl Sync for CheckpointWorkerManager
impl Unpin for CheckpointWorkerManager
impl UnsafeUnpin for CheckpointWorkerManager
impl !UnwindSafe for CheckpointWorkerManager
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more