Class SourceBase<TDerived, TOutput, TError>
An abstract dataflow worker with one Output port and one ErrorOutput port,
which can be used to create a dataflow source.
When starting a worker, the library calls RunAsync() during the worker
Running phase. A derived class must override
this abstract method, and call methods on the Output and ErrorOutput ports
to pass data rows to the downstream worker.
Note that the worker Running phase also includes additional places where logic can
optionally be inserted via callbacks, to e.g. customize the initialization, cleanup,
and error handling of existing workers. This is mostly used when customizing workers that
are not designed to be derived from (i.e. without a "Base" suffix).
See
Worker Life-cycle for details.
Use SourceBase<TDerived, TOutput> instead if an ErrorOutput port is not needed.
Also see the
SourceBase
example.
Implements
Inherited Members
Namespace: actionETL
Assembly: actionETL.dll
Syntax
public abstract class SourceBase<TDerived, TOutput, TError> : WorkerBase<TDerived>, IDisposeOnFinished where TDerived : SourceBase<TDerived, TOutput, TError> where TOutput : class where TError : class
Type Parameters
| Name | Description |
|---|---|
| TDerived | The type of the derived worker. Class definition example:
|
| TOutput | The type of each |
| TError | The type of each |
Constructors
SourceBase(WorkerParent, String, Func<Boolean>)
Initializes a new instance of the SourceBase<TDerived, TOutput, TError> abstract dataflow worker,
with one Output port and one ErrorOutput port. It can be used to create a dataflow source.
Declaration
protected SourceBase(WorkerParent workerParent, string workerName, Func<bool> isStartableFunc)
Parameters
| Type | Name | Description |
|---|---|---|
| WorkerParent | workerParent | The parent worker or worker system that the new child worker will be added to. Cannot be |
| String | workerName | Name of the worker.
Set to a prefix plus a trailing
While less useful, set to
The name cannot otherwise contain |
| Func<Boolean> | isStartableFunc | Function to calculate the worker start constraint; it should return |
Exceptions
| Type | Condition |
|---|---|
| ArgumentException |
|
| ArgumentNullException |
|
| InvalidOperationException |
|
Properties
ErrorOutput
Gets the error output port for sending error rows to logging and an optional downstream worker.
Declaration
public ErrorOutputPort<TError> ErrorOutput { get; }
Property Value
| Type | Description |
|---|---|
| ErrorOutputPort<TError> |
Output
Gets the output port for sending rows to the downstream worker.
Declaration
public OutputPort<TOutput> Output { get; }
Property Value
| Type | Description |
|---|---|
| OutputPort<TOutput> |