C# Class Summer.Batch.Core.Step.Tasklet.PowerShellTasklet

An ITasklet that runs a powershell script. The script is executed asynchronously using injected ITaskExecutor - timeout value is required to be set, so that the batch job does not hang forever if the external process hangs. Tasklet periodically checks for termination status (i.e. Script finished its execution or timeout expired or job was interrupted). The check interval is given by TerminationCheckInterval. When job interrupt is detected tasklet's execution is terminated immediately by throwing JobInterruptedException. NOTE : InterruptOnCancel is not being supported for now. \since 1.1.0
Inheritance: Summer.Batch.Core.Listener.StepExecutionListenerSupport, IStoppableTasklet, IInitializationPostOperations
Show file Open project: SummerBatch/SummerBatch

Protected Properties

Property Type Description
Logger Logger

Public Methods

Method Description
AfterPropertiesSet ( ) : void

@see IInitializationPostOperations#AfterPropertiesSet.

BeforeStep ( StepExecution stepExecution ) : void

@see IStepExecutionListener#BeforeStep.

Execute ( StepContribution contribution, Summer.Batch.Core.Scope.Context.ChunkContext chunkContext ) : RepeatStatus

Wraps command execution into system process call.

Stop ( ) : void

IStoppableTasklet#Stop.

Private Methods

Method Description
AllStreams_DataAdded ( object sender, System.Management.Automation.DataAddedEventArgs e ) : void

Event handler for when data is added to the streams, i.e. all streams redirect to this handler.

CheckStoppingState ( Summer.Batch.Core.Scope.Context.ChunkContext chunkContext ) : void
LogStreams ( ) : void

Method Details

AfterPropertiesSet() public method

@see IInitializationPostOperations#AfterPropertiesSet.
public AfterPropertiesSet ( ) : void
return void

BeforeStep() public method

@see IStepExecutionListener#BeforeStep.
public BeforeStep ( StepExecution stepExecution ) : void
stepExecution StepExecution
return void

Execute() public method

Wraps command execution into system process call.
public Execute ( StepContribution contribution, Summer.Batch.Core.Scope.Context.ChunkContext chunkContext ) : RepeatStatus
contribution StepContribution
chunkContext Summer.Batch.Core.Scope.Context.ChunkContext
return RepeatStatus

Stop() public method

IStoppableTasklet#Stop.
public Stop ( ) : void
return void

Property Details

Logger protected static property

Logger.
protected static Logger Logger
return Logger