pub struct ShellCommandTask { /* private fields */ }Expand description
Task that executes shell commands using tokio::process.
Executes external shell commands with configurable working directory, environment variables, and timeout settings. Supports process compensation for rollback operations.
Implementations§
Source§impl ShellCommandTask
impl ShellCommandTask
Sourcepub fn new(id: TaskId, name: String, command: impl Into<String>) -> Self
pub fn new(id: TaskId, name: String, command: impl Into<String>) -> Self
Creates a new ShellCommandTask with the given command.
§Arguments
id- Task identifiername- Human-readable task namecommand- Command to execute (e.g., “echo”, “ls”, “cargo”)
Sourcepub fn with_config(id: TaskId, name: String, config: ShellCommandConfig) -> Self
pub fn with_config(id: TaskId, name: String, config: ShellCommandConfig) -> Self
Creates a new ShellCommandTask with a ShellCommandConfig.
§Arguments
id- Task identifiername- Human-readable task nameconfig- Shell command configuration
Sourcepub fn with_args(self, args: Vec<String>) -> Self
👎Deprecated since 0.4.0: Use with_config() instead for better configurability
pub fn with_args(self, args: Vec<String>) -> Self
Sets the arguments for the shell command.
§Deprecated
Use with_config() and ShellCommandConfig::args() instead.
Sourcepub fn config(&self) -> &ShellCommandConfig
pub fn config(&self) -> &ShellCommandConfig
Gets the configuration for this task.
Trait Implementations§
Source§impl WorkflowTask for ShellCommandTask
impl WorkflowTask for ShellCommandTask
Source§fn execute<'life0, 'life1, 'async_trait>(
&'life0 self,
_context: &'life1 TaskContext,
) -> Pin<Box<dyn Future<Output = Result<TaskResult, TaskError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn execute<'life0, 'life1, 'async_trait>(
&'life0 self,
_context: &'life1 TaskContext,
) -> Pin<Box<dyn Future<Output = Result<TaskResult, TaskError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Executes the task with the provided context. Read more
Source§fn compensation(&self) -> Option<CompensationAction>
fn compensation(&self) -> Option<CompensationAction>
Returns the compensation action for this task (if any). Read more
Auto Trait Implementations§
impl Freeze for ShellCommandTask
impl RefUnwindSafe for ShellCommandTask
impl Send for ShellCommandTask
impl Sync for ShellCommandTask
impl Unpin for ShellCommandTask
impl UnsafeUnpin for ShellCommandTask
impl UnwindSafe for ShellCommandTask
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
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>
Converts
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>
Converts
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