pub struct JobExecution { /* private fields */ }Expand description
One launch or restart attempt for a JobInstance.
Implementations§
Source§impl JobExecution
impl JobExecution
Sourcepub const fn new(
id: JobExecutionId,
job_instance_id: JobInstanceId,
metadata: ExecutionMetadata,
) -> Self
pub const fn new( id: JobExecutionId, job_instance_id: JobInstanceId, metadata: ExecutionMetadata, ) -> Self
Constructs a job execution record from validated metadata.
Sourcepub const fn from_snapshot(
id: JobExecutionId,
job_instance_id: JobInstanceId,
metadata: ExecutionMetadata,
version: ExecutionVersion,
) -> Self
pub const fn from_snapshot( id: JobExecutionId, job_instance_id: JobInstanceId, metadata: ExecutionMetadata, version: ExecutionVersion, ) -> Self
Reconstructs a job execution snapshot with its optimistic version.
Sourcepub const fn id(&self) -> JobExecutionId
pub const fn id(&self) -> JobExecutionId
Returns the attempt identifier.
Sourcepub const fn job_instance_id(&self) -> JobInstanceId
pub const fn job_instance_id(&self) -> JobInstanceId
Returns the logical instance identifier.
Sourcepub const fn metadata(&self) -> &ExecutionMetadata
pub const fn metadata(&self) -> &ExecutionMetadata
Borrows the execution metadata.
Sourcepub const fn version(&self) -> ExecutionVersion
pub const fn version(&self) -> ExecutionVersion
Returns the facade-owned optimistic-lock version.
Sourcepub fn transition(
&mut self,
expected_version: ExecutionVersion,
transition: LifecycleTransition,
) -> Result<ExecutionVersion, LifecycleError>
pub fn transition( &mut self, expected_version: ExecutionVersion, transition: LifecycleTransition, ) -> Result<ExecutionVersion, LifecycleError>
Applies one legal lifecycle transition using compare-and-swap semantics.
The transition never changes exit status. Restart requests from
STOPPED or FAILED return
LifecycleError::RestartRequiresNewAttempt.
§Errors
Returns a typed stale-version, illegal-transition, timestamp, failure, or version-exhaustion error without mutating this snapshot.
Sourcepub fn enrich_exit_status(
&mut self,
expected_version: ExecutionVersion,
exit_status: ExitStatus,
) -> Result<ExecutionVersion, LifecycleError>
pub fn enrich_exit_status( &mut self, expected_version: ExecutionVersion, exit_status: ExitStatus, ) -> Result<ExecutionVersion, LifecycleError>
Enriches flow/operator exit status without changing batch status.
§Errors
Returns LifecycleError::StaleVersion or
LifecycleError::VersionExhausted without mutating this snapshot.
Sourcepub fn new_restart_attempt(
&self,
expected_version: ExecutionVersion,
new_execution_id: JobExecutionId,
created_at: SystemTime,
) -> Result<Self, LifecycleError>
pub fn new_restart_attempt( &self, expected_version: ExecutionVersion, new_execution_id: JobExecutionId, created_at: SystemTime, ) -> Result<Self, LifecycleError>
Creates a fresh STARTING attempt for the same logical job instance.
The prior execution remains unchanged. Definition-level restart permission is a repository/launcher concern layered on top of this status policy.
§Errors
Returns a typed stale-version, non-restartable, or reused-ID error.
Trait Implementations§
Source§impl Clone for JobExecution
impl Clone for JobExecution
Source§fn clone(&self) -> JobExecution
fn clone(&self) -> JobExecution
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more