Skip to main content

Class TaskuraiTaskContext

Task context

Assembly: Taskurai.Worker.dll​
Declaration
public class TaskuraiTaskContext : IDisposable

Implements:
System.IDisposable

Properties​

State​

State context Taskurai.Worker.TaskuraiStateContext.

Declaration
public TaskuraiStateContext State { get; }

Task​

Task response (Taskurai.Models.TaskResponse) to handle.

Declaration
public TaskResponse Task { get; }

RequestedVersion​

Requested version by task (null if no version specified)

Declaration
public int? RequestedVersion { get; }

SelectedVersion​

Selected version by task (null if no version specified)

Declaration
public int? SelectedVersion { get; }

CancellationToken​

Either worker service has received a cancellation request or the command is timed out

Declaration
public CancellationToken CancellationToken { get; }

StaleCancellationToken​

Either worker service has received a cancellation request or the command is timed out and the stale timeout is passed

Declaration
public CancellationToken StaleCancellationToken { get; }

TimeoutCancellationToken​

Max duration or task timeout.

Declaration
public CancellationToken TimeoutCancellationToken { get; }

Methods​

Dispose()​

Dispose

Declaration
public void Dispose()

CheckTaskExpired()​

Check if task is expired (execution options notStartAfter).

Declaration
public void CheckTaskExpired()
Exceptions​

Taskurai.Worker.TaskExpiredException
Throws if task is expired.

Succeeded()​

Returns a succeeded result.

Declaration
public TaskSucceededResult Succeeded()
Returns​

Taskurai.Worker.TaskSucceededResult: Taskurai.Worker.TaskSucceededResult### Succeeded(ResultResponse) Returns a succeeded result with a task result.

Declaration
public TaskSucceededResult Succeeded(ResultResponse result)
Returns​

Taskurai.Worker.TaskSucceededResult: Taskurai.Worker.TaskSucceededResult

Parameters​
TypeNameDescription
Taskurai.Models.ResultResponseresultTask result Taskurai.Models.ResultResponse.

Succeeded(ResultOutput)​

Returns a succeeded result with a task result output.

Declaration
public TaskSucceededResult Succeeded(ResultOutput resultOutput)
Returns​

Taskurai.Worker.TaskSucceededResult: Taskurai.Worker.TaskSucceededResult

Parameters​
TypeNameDescription
Taskurai.Models.ResultOutputresultOutputTask result output Taskurai.Models.ResultOutput.

Succeeded(ValueData<object>)​

Returns a succeeded result with a value data.

Declaration
public TaskSucceededResult Succeeded(ValueData<object> value)
Returns​

Taskurai.Worker.TaskSucceededResult: Taskurai.Worker.TaskSucceededResult

Parameters​
TypeNameDescription
Taskurai.Models.ValueData<T>valueTask result value Taskurai.Models.ValueData%601.

Succeeded(Progress, ResultResponse, Error, bool?)​

Returns a succeeded result with optional progress, result, error, and archived status.

Declaration
public TaskSucceededResult Succeeded(Progress progress = null, ResultResponse result = null, Error error = null, bool? archived = null)
Returns​

Taskurai.Worker.TaskSucceededResult: Taskurai.Worker.TaskSucceededResult

Parameters​
TypeNameDescription
Taskurai.Models.ProgressprogressTask progress Taskurai.Models.Progress.
Taskurai.Models.ResultResponseresultTask result Taskurai.Models.ResultResponse.
Taskurai.Models.ErrorerrorTask error Taskurai.Models.Error.
System.Nullable<System.Boolean>archivedMark the task as archived.

Succeeded(int, Progress, ResultResponse, Error, bool?)​

Returns a succeeded result with a status code and optional progress, result, error, and archived status.

Declaration
public TaskSucceededResult Succeeded(int statusCode, Progress progress = null, ResultResponse result = null, Error error = null, bool? archived = null)
Returns​

Taskurai.Worker.TaskSucceededResult: Taskurai.Worker.TaskSucceededResult

Parameters​
TypeNameDescription
System.Int32statusCodeAdditional status code to return.
Taskurai.Models.ProgressprogressTask progress Taskurai.Models.Progress.
Taskurai.Models.ResultResponseresultTask result Taskurai.Models.ResultResponse.
Taskurai.Models.ErrorerrorTask error Taskurai.Models.Error.
System.Nullable<System.Boolean>archivedMark the task as archived.

Succeeded(HttpStatusCode, Progress, ResultResponse, Error, bool?)​

Returns a succeeded result with a HTTP status code and optional progress, result, error, and archived status.

Declaration
public TaskSucceededResult Succeeded(HttpStatusCode statusCode, Progress progress = null, ResultResponse result = null, Error error = null, bool? archived = null)
Returns​

Taskurai.Worker.TaskSucceededResult: Taskurai.Worker.TaskSucceededResult

Parameters​
TypeNameDescription
System.Net.HttpStatusCodestatusCodeHTTP status code System.Net.HttpStatusCode.
Taskurai.Models.ProgressprogressTask progress Taskurai.Models.Progress.
Taskurai.Models.ResultResponseresultTask result Taskurai.Models.ResultResponse.
Taskurai.Models.ErrorerrorTask error Taskurai.Models.Error.
System.Nullable<System.Boolean>archivedMark the task as archived.

IntermediateFailure()​

Returns an intermediate failure result.

Declaration
public TaskIntermediateFailureResult IntermediateFailure()
Returns​

Taskurai.Worker.TaskIntermediateFailureResult: Taskurai.Worker.TaskIntermediateFailureResult### IntermediateFailure(string) Returns an intermediate failure result with an error message.

Declaration
public TaskIntermediateFailureResult IntermediateFailure(string errorMessage)
Returns​

Taskurai.Worker.TaskIntermediateFailureResult: Taskurai.Worker.TaskIntermediateFailureResult

Parameters​
TypeNameDescription
System.StringerrorMessageTask error message.

IntermediateFailure(Error)​

Returns an intermediate failure result with an error.

Declaration
public TaskIntermediateFailureResult IntermediateFailure(Error error)
Returns​

Taskurai.Worker.TaskIntermediateFailureResult: Taskurai.Worker.TaskIntermediateFailureResult

Parameters​
TypeNameDescription
Taskurai.Models.ErrorerrorTask error Taskurai.Models.Error.

IntermediateFailure(Progress, ResultResponse, Error, bool?, After)​

Returns an intermediate failure result with optional progress, result, error, and archived status.

Declaration
public TaskIntermediateFailureResult IntermediateFailure(Progress progress = null, ResultResponse result = null, Error error = null, bool? archived = null, After retryAfter = null)
Returns​

Taskurai.Worker.TaskIntermediateFailureResult: Taskurai.Worker.TaskIntermediateFailureResult

Parameters​
TypeNameDescription
Taskurai.Models.ProgressprogressTask progress Taskurai.Models.Progress.
Taskurai.Models.ResultResponseresultTask result Taskurai.Models.ResultResponse.
Taskurai.Models.ErrorerrorTask error Taskurai.Models.Error.
System.Nullable<System.Boolean>archivedMark the task as archived.
Taskurai.Models.AfterretryAfterRetry failed task after Taskurai.Models.After.

IntermediateFailure(int, Progress, ResultResponse, Error, bool?, After)​

Returns an intermediate failure result with a status code and optional progress, result, error, and archived status.

Declaration
public TaskIntermediateFailureResult IntermediateFailure(int statusCode, Progress progress = null, ResultResponse result = null, Error error = null, bool? archived = null, After retryAfter = null)
Returns​

Taskurai.Worker.TaskIntermediateFailureResult: Taskurai.Worker.TaskIntermediateFailureResult

Parameters​
TypeNameDescription
System.Int32statusCodeAdditional status code to return.
Taskurai.Models.ProgressprogressTask progress Taskurai.Models.Progress.
Taskurai.Models.ResultResponseresultTask result Taskurai.Models.ResultResponse.
Taskurai.Models.ErrorerrorTask error Taskurai.Models.Error.
System.Nullable<System.Boolean>archivedMark the task as archived.
Taskurai.Models.AfterretryAfterRetry failed task after Taskurai.Models.After.

IntermediateFailure(HttpStatusCode, Progress, ResultResponse, Error, bool?, After)​

Returns an intermediate failure result with a HTTP status code and optional progress, result, error, and archived status.

Declaration
public TaskIntermediateFailureResult IntermediateFailure(HttpStatusCode statusCode, Progress progress = null, ResultResponse result = null, Error error = null, bool? archived = null, After retryAfter = null)
Returns​

Taskurai.Worker.TaskIntermediateFailureResult: Taskurai.Worker.TaskIntermediateFailureResult

Parameters​
TypeNameDescription
System.Net.HttpStatusCodestatusCodeHTTP status code System.Net.HttpStatusCode.
Taskurai.Models.ProgressprogressTask progress Taskurai.Models.Progress.
Taskurai.Models.ResultResponseresultTask result Taskurai.Models.ResultResponse.
Taskurai.Models.ErrorerrorTask error Taskurai.Models.Error.
System.Nullable<System.Boolean>archivedMark the task as archived.
Taskurai.Models.AfterretryAfterRetry failed task after Taskurai.Models.After.

Failed()​

Returns a failed result.

Declaration
public TaskFailedResult Failed()
Returns​

Taskurai.Worker.TaskFailedResult: Taskurai.Worker.TaskFailedResult### Failed(string) Returns a failed result with an error message.

Declaration
public TaskFailedResult Failed(string errorMessage)
Returns​

Taskurai.Worker.TaskFailedResult: Taskurai.Worker.TaskFailedResult

Parameters​
TypeNameDescription
System.StringerrorMessageTask error message.

Failed(int, string)​

Returns a failed result with an error message.

Declaration
public TaskFailedResult Failed(int statusCode, string errorMessage)
Returns​

Taskurai.Worker.TaskFailedResult: Taskurai.Worker.TaskFailedResult

Parameters​
TypeNameDescription
System.Int32statusCodeAdditional status code to return.
System.StringerrorMessageTask error message.

Failed(HttpStatusCode, string)​

Returns a failed result with an error message.

Declaration
public TaskFailedResult Failed(HttpStatusCode statusCode, string errorMessage)
Returns​

Taskurai.Worker.TaskFailedResult: Taskurai.Worker.TaskFailedResult

Parameters​
TypeNameDescription
System.Net.HttpStatusCodestatusCodeAdditional status code to return.
System.StringerrorMessageTask error message.

Failed(Error)​

Returns a failed result with an error.

Declaration
public TaskFailedResult Failed(Error error)
Returns​

Taskurai.Worker.TaskFailedResult: Taskurai.Worker.TaskFailedResult

Parameters​
TypeNameDescription
Taskurai.Models.ErrorerrorTask error Taskurai.Models.Error.

Failed(int, Error)​

Returns a failed result with an error.

Declaration
public TaskFailedResult Failed(int statusCode, Error error)
Returns​

Taskurai.Worker.TaskFailedResult: Taskurai.Worker.TaskFailedResult

Parameters​
TypeNameDescription
System.Int32statusCodeAdditional status code to return.
Taskurai.Models.ErrorerrorTask error Taskurai.Models.Error.

Failed(HttpStatusCode, Error)​

Returns a failed result with an error.

Declaration
public TaskFailedResult Failed(HttpStatusCode statusCode, Error error)
Returns​

Taskurai.Worker.TaskFailedResult: Taskurai.Worker.TaskFailedResult

Parameters​
TypeNameDescription
System.Net.HttpStatusCodestatusCodeAdditional status code to return.
Taskurai.Models.ErrorerrorTask error Taskurai.Models.Error.

Failed(Progress, ResultResponse, Error, bool?, After)​

Returns a failed result with optional progress, result, error, and archived status.

Declaration
public TaskFailedResult Failed(Progress progress = null, ResultResponse result = null, Error error = null, bool? archived = null, After retryAfter = null)
Returns​

Taskurai.Worker.TaskFailedResult: Taskurai.Worker.TaskFailedResult

Parameters​
TypeNameDescription
Taskurai.Models.ProgressprogressTask progress Taskurai.Models.Progress.
Taskurai.Models.ResultResponseresultTask result Taskurai.Models.ResultResponse.
Taskurai.Models.ErrorerrorTask error Taskurai.Models.Error.
System.Nullable<System.Boolean>archivedMark the task as archived.
Taskurai.Models.AfterretryAfterRetry failed task after Taskurai.Models.After.

Failed(int, Progress, ResultResponse, Error, bool?, After)​

Returns a failed result with a status code and optional progress, result, error, and archived status.

Declaration
public TaskFailedResult Failed(int statusCode, Progress progress = null, ResultResponse result = null, Error error = null, bool? archived = null, After retryAfter = null)
Returns​

Taskurai.Worker.TaskFailedResult: Taskurai.Worker.TaskFailedResult

Parameters​
TypeNameDescription
System.Int32statusCodeAdditional status code to return.
Taskurai.Models.ProgressprogressTask progress Taskurai.Models.Progress.
Taskurai.Models.ResultResponseresultTask result Taskurai.Models.ResultResponse.
Taskurai.Models.ErrorerrorTask error Taskurai.Models.Error.
System.Nullable<System.Boolean>archivedMark the task as archived.
Taskurai.Models.AfterretryAfterRetry failed task after Taskurai.Models.After.

Failed(HttpStatusCode, Progress, ResultResponse, Error, bool?, After)​

Returns a failed result with a HTTP status code and optional progress, result, error, and archived status.

Declaration
public TaskFailedResult Failed(HttpStatusCode statusCode, Progress progress = null, ResultResponse result = null, Error error = null, bool? archived = null, After retryAfter = null)
Returns​

Taskurai.Worker.TaskFailedResult: Taskurai.Worker.TaskFailedResult

Parameters​
TypeNameDescription
System.Net.HttpStatusCodestatusCodeHTTP status code System.Net.HttpStatusCode.
Taskurai.Models.ProgressprogressTask progress Taskurai.Models.Progress.
Taskurai.Models.ResultResponseresultTask result Taskurai.Models.ResultResponse.
Taskurai.Models.ErrorerrorTask error Taskurai.Models.Error.
System.Nullable<System.Boolean>archivedMark the task as archived.
Taskurai.Models.AfterretryAfterRetry failed task after Taskurai.Models.After.

Fatal()​

Returns a failed result.

Declaration
public TaskFatalResult Fatal()
Returns​

Taskurai.Worker.TaskFatalResult: Taskurai.Worker.TaskFatalResult### Fatal(string) Returns a failed result with an error message.

Declaration
public TaskFatalResult Fatal(string errorMessage)
Returns​

Taskurai.Worker.TaskFatalResult: Taskurai.Worker.TaskFatalResult

Parameters​
TypeNameDescription
System.StringerrorMessageTask error message.

Fatal(int, string)​

Returns a failed result with an error message.

Declaration
public TaskFatalResult Fatal(int statusCode, string errorMessage)
Returns​

Taskurai.Worker.TaskFatalResult: Taskurai.Worker.TaskFatalResult

Parameters​
TypeNameDescription
System.Int32statusCodeAdditional status code to return.
System.StringerrorMessageTask error message.

Fatal(HttpStatusCode, string)​

Returns a failed result with an error message.

Declaration
public TaskFatalResult Fatal(HttpStatusCode statusCode, string errorMessage)
Returns​

Taskurai.Worker.TaskFatalResult: Taskurai.Worker.TaskFatalResult

Parameters​
TypeNameDescription
System.Net.HttpStatusCodestatusCodeAdditional status code to return.
System.StringerrorMessageTask error message.

Fatal(Error)​

Returns a failed result with an error.

Declaration
public TaskFatalResult Fatal(Error error)
Returns​

Taskurai.Worker.TaskFatalResult: Taskurai.Worker.TaskFatalResult

Parameters​
TypeNameDescription
Taskurai.Models.ErrorerrorTask error Taskurai.Models.Error.

Fatal(int, Error)​

Returns a failed result with an error.

Declaration
public TaskFatalResult Fatal(int statusCode, Error error)
Returns​

Taskurai.Worker.TaskFatalResult: Taskurai.Worker.TaskFatalResult

Parameters​
TypeNameDescription
System.Int32statusCodeAdditional status code to return.
Taskurai.Models.ErrorerrorTask error Taskurai.Models.Error.

Fatal(HttpStatusCode, Error)​

Returns a failed result with an error.

Declaration
public TaskFatalResult Fatal(HttpStatusCode statusCode, Error error)
Returns​

Taskurai.Worker.TaskFatalResult: Taskurai.Worker.TaskFatalResult

Parameters​
TypeNameDescription
System.Net.HttpStatusCodestatusCodeAdditional status code to return.
Taskurai.Models.ErrorerrorTask error Taskurai.Models.Error.

Fatal(Progress, ResultResponse, Error, bool?, After)​

Returns a failed result with optional progress, result, error, and archived status.

Declaration
public TaskFatalResult Fatal(Progress progress = null, ResultResponse result = null, Error error = null, bool? archived = null, After retryAfter = null)
Returns​

Taskurai.Worker.TaskFatalResult: Taskurai.Worker.TaskFatalResult

Parameters​
TypeNameDescription
Taskurai.Models.ProgressprogressTask progress Taskurai.Models.Progress.
Taskurai.Models.ResultResponseresultTask result Taskurai.Models.ResultResponse.
Taskurai.Models.ErrorerrorTask error Taskurai.Models.Error.
System.Nullable<System.Boolean>archivedMark the task as archived.
Taskurai.Models.AfterretryAfterRetry failed task after Taskurai.Models.After.

Fatal(int, Progress, ResultResponse, Error, bool?, After)​

Returns a failed result with a status code and optional progress, result, error, and archived status.

Declaration
public TaskFatalResult Fatal(int statusCode, Progress progress = null, ResultResponse result = null, Error error = null, bool? archived = null, After retryAfter = null)
Returns​

Taskurai.Worker.TaskFatalResult: Taskurai.Worker.TaskFatalResult

Parameters​
TypeNameDescription
System.Int32statusCodeAdditional status code to return.
Taskurai.Models.ProgressprogressTask progress Taskurai.Models.Progress.
Taskurai.Models.ResultResponseresultTask result Taskurai.Models.ResultResponse.
Taskurai.Models.ErrorerrorTask error Taskurai.Models.Error.
System.Nullable<System.Boolean>archivedMark the task as archived.
Taskurai.Models.AfterretryAfterRetry failed task after Taskurai.Models.After.

Fatal(HttpStatusCode, Progress, ResultResponse, Error, bool?, After)​

Returns a failed result with a HTTP status code and optional progress, result, error, and archived status.

Declaration
public TaskFatalResult Fatal(HttpStatusCode statusCode, Progress progress = null, ResultResponse result = null, Error error = null, bool? archived = null, After retryAfter = null)
Returns​

Taskurai.Worker.TaskFatalResult: Taskurai.Worker.TaskFatalResult

Parameters​
TypeNameDescription
System.Net.HttpStatusCodestatusCodeHTTP status code System.Net.HttpStatusCode.
Taskurai.Models.ProgressprogressTask progress Taskurai.Models.Progress.
Taskurai.Models.ResultResponseresultTask result Taskurai.Models.ResultResponse.
Taskurai.Models.ErrorerrorTask error Taskurai.Models.Error.
System.Nullable<System.Boolean>archivedMark the task as archived.
Taskurai.Models.AfterretryAfterRetry failed task after Taskurai.Models.After.

Canceled()​

Returns a failed result.

Declaration
public TaskCanceledResult Canceled()
Returns​

Taskurai.Worker.TaskCanceledResult: Taskurai.Worker.TaskCanceledResult### Canceled(string) Returns a failed result with an error message.

Declaration
public TaskCanceledResult Canceled(string errorMessage)
Returns​

Taskurai.Worker.TaskCanceledResult: Taskurai.Worker.TaskCanceledResult

Parameters​
TypeNameDescription
System.StringerrorMessageTask error message.

Canceled(int, string)​

Returns a failed result with an error message.

Declaration
public TaskCanceledResult Canceled(int statusCode, string errorMessage)
Returns​

Taskurai.Worker.TaskCanceledResult: Taskurai.Worker.TaskCanceledResult

Parameters​
TypeNameDescription
System.Int32statusCodeAdditional status code to return.
System.StringerrorMessageTask error message.

Canceled(HttpStatusCode, string)​

Returns a failed result with an error message.

Declaration
public TaskCanceledResult Canceled(HttpStatusCode statusCode, string errorMessage)
Returns​

Taskurai.Worker.TaskCanceledResult: Taskurai.Worker.TaskCanceledResult

Parameters​
TypeNameDescription
System.Net.HttpStatusCodestatusCodeAdditional status code to return.
System.StringerrorMessageTask error message.

Canceled(Error)​

Returns a failed result with an error.

Declaration
public TaskCanceledResult Canceled(Error error)
Returns​

Taskurai.Worker.TaskCanceledResult: Taskurai.Worker.TaskCanceledResult

Parameters​
TypeNameDescription
Taskurai.Models.ErrorerrorTask error Taskurai.Models.Error.

Canceled(int, Error)​

Returns a failed result with an error.

Declaration
public TaskCanceledResult Canceled(int statusCode, Error error)
Returns​

Taskurai.Worker.TaskCanceledResult: Taskurai.Worker.TaskCanceledResult

Parameters​
TypeNameDescription
System.Int32statusCodeAdditional status code to return.
Taskurai.Models.ErrorerrorTask error Taskurai.Models.Error.

Canceled(HttpStatusCode, Error)​

Returns a failed result with an error.

Declaration
public TaskCanceledResult Canceled(HttpStatusCode statusCode, Error error)
Returns​

Taskurai.Worker.TaskCanceledResult: Taskurai.Worker.TaskCanceledResult

Parameters​
TypeNameDescription
System.Net.HttpStatusCodestatusCodeAdditional status code to return.
Taskurai.Models.ErrorerrorTask error Taskurai.Models.Error.

Canceled(Progress, ResultResponse, Error, bool?)​

Returns a failed result with optional progress, result, error, and archived status.

Declaration
public TaskCanceledResult Canceled(Progress progress = null, ResultResponse result = null, Error error = null, bool? archived = null)
Returns​

Taskurai.Worker.TaskCanceledResult: Taskurai.Worker.TaskCanceledResult

Parameters​
TypeNameDescription
Taskurai.Models.ProgressprogressTask progress Taskurai.Models.Progress.
Taskurai.Models.ResultResponseresultTask result Taskurai.Models.ResultResponse.
Taskurai.Models.ErrorerrorTask error Taskurai.Models.Error.
System.Nullable<System.Boolean>archivedMark the task as archived.

Canceled(int, Progress, ResultResponse, Error, bool?)​

Returns a failed result with a status code and optional progress, result, error, and archived status.

Declaration
public TaskCanceledResult Canceled(int statusCode, Progress progress = null, ResultResponse result = null, Error error = null, bool? archived = null)
Returns​

Taskurai.Worker.TaskCanceledResult: Taskurai.Worker.TaskCanceledResult

Parameters​
TypeNameDescription
System.Int32statusCodeAdditional status code to return.
Taskurai.Models.ProgressprogressTask progress Taskurai.Models.Progress.
Taskurai.Models.ResultResponseresultTask result Taskurai.Models.ResultResponse.
Taskurai.Models.ErrorerrorTask error Taskurai.Models.Error.
System.Nullable<System.Boolean>archivedMark the task as archived.

Canceled(HttpStatusCode, Progress, ResultResponse, Error, bool?)​

Returns a failed result with a HTTP status code and optional progress, result, error, and archived status.

Declaration
public TaskCanceledResult Canceled(HttpStatusCode statusCode, Progress progress = null, ResultResponse result = null, Error error = null, bool? archived = null)
Returns​

Taskurai.Worker.TaskCanceledResult: Taskurai.Worker.TaskCanceledResult

Parameters​
TypeNameDescription
System.Net.HttpStatusCodestatusCodeHTTP status code System.Net.HttpStatusCode.
Taskurai.Models.ProgressprogressTask progress Taskurai.Models.Progress.
Taskurai.Models.ResultResponseresultTask result Taskurai.Models.ResultResponse.
Taskurai.Models.ErrorerrorTask error Taskurai.Models.Error.
System.Nullable<System.Boolean>archivedMark the task as archived.

AcquireLock(string, string, TimeSpan, TimeSpan, bool)​

Acquire a distributed lock.

Required scope: Data/Buildby.Taskurai/locks/create.

Declaration
public TaskuraiDistributedLock AcquireLock(string lockId, string owner, TimeSpan ttl, TimeSpan timeout, bool skipIsolationMode = false)
Returns​

Taskurai.TaskuraiDistributedLock: Taskurai.TaskuraiDistributedLock

Parameters​
TypeNameDescription
System.StringlockIdLock id (only alphanumeric characters, dot, underscore and hyphens are allowed).
System.StringownerOwner of the lock.
System.TimeSpanttlLock lease time-to-live.
System.TimeSpantimeoutTimeout, waiting to acquire lock.
System.BooleanskipIsolationModeSkip isolation mode (defaults to global isolation mode).

AcquireLockAsync(string, string, TimeSpan, TimeSpan, bool)​

Acquire a distributed lock.

Required scope: Data/Buildby.Taskurai/locks/create.

Declaration
public Task<TaskuraiDistributedLock> AcquireLockAsync(string lockId, string owner, TimeSpan ttl, TimeSpan timeout, bool skipIsolationMode = false)
Returns​

System.Threading.Tasks.Task<Taskurai.TaskuraiDistributedLock>: Taskurai.TaskuraiDistributedLock

Parameters​
TypeNameDescription
System.StringlockIdLock id (only alphanumeric characters, dot, underscore and hyphens are allowed).
System.StringownerOwner of the lock.
System.TimeSpanttlLock lease time-to-live.
System.TimeSpantimeoutTimeout, waiting to acquire lock.
System.BooleanskipIsolationModeSkip isolation mode (defaults to global isolation mode).

UpdateTask(TaskUpdateInput)​

Updates a task.

Required scope: Data/Buildby.Taskurai/tasks/update

Declaration
public TaskResponse UpdateTask(TaskUpdateInput input)
Returns​

Taskurai.Models.TaskResponse: Taskurai.Models.TaskResponse

Parameters​
TypeNameDescription
Taskurai.Models.TaskUpdateInputinputTaskurai.Models.TaskUpdateInput.

UpdateTaskAsync(TaskUpdateInput)​

Updates a task.

Required scope: Data/Buildby.Taskurai/tasks/update

Declaration
public Task<TaskResponse> UpdateTaskAsync(TaskUpdateInput input)
Returns​

System.Threading.Tasks.Task<Taskurai.Models.TaskResponse>: Taskurai.Models.TaskResponse

Parameters​
TypeNameDescription
Taskurai.Models.TaskUpdateInputinputTaskurai.Models.TaskUpdateInput.

Progress(double?, string, double?)​

Updates progress and sends a heartbeat.

Required scope: Data/Buildby.Taskurai/tasks/update

Declaration
public TaskResponse Progress(double? percentage = null, string message = null, double? commandTimeout = null)
Returns​

Taskurai.Models.TaskResponse: Taskurai.Models.TaskResponse

Parameters​
TypeNameDescription
System.Nullable<System.Double>percentageReport progress % (optional).
System.StringmessageProgress message (optional).
System.Nullable<System.Double>commandTimeoutReplace command timeout in seconds (default 300, max 7 days), timeout in now+commandTimeout.

ProgressAsync(double?, string, double?)​

Updates progress and sends a heartbeat.

Required scope: Data/Buildby.Taskurai/tasks/update

Declaration
public Task<TaskResponse> ProgressAsync(double? percentage = null, string message = null, double? commandTimeout = null)
Returns​

System.Threading.Tasks.Task<Taskurai.Models.TaskResponse>: Taskurai.Models.TaskResponse

Parameters​
TypeNameDescription
System.Nullable<System.Double>percentageReport progress % (optional).
System.StringmessageProgress message (optional).
System.Nullable<System.Double>commandTimeoutReplace command timeout in seconds (default 300, max 7 days), timeout in now+commandTimeout.

CompleteTask(TaskCompleteInput)​

Mark the task as completed and report the status (Succeeded, Failed, ...).

Required scope: Data/Buildby.Taskurai/tasks/update

Declaration
public TaskCompleteResult CompleteTask(TaskCompleteInput input)
Returns​

Taskurai.Worker.TaskCompleteResult: Taskurai.Worker.TaskCompleteResult

Parameters​
TypeNameDescription
Taskurai.Models.TaskCompleteInputinputTaskurai.Models.TaskCompleteInput.

CompleteTaskAsync(TaskCompleteInput)​

Mark the task as completed and report the status (Succeeded, Failed, ...).

Required scope: Data/Buildby.Taskurai/tasks/update

Declaration
public Task<TaskCompleteResult> CompleteTaskAsync(TaskCompleteInput input)
Returns​

System.Threading.Tasks.Task<Taskurai.Worker.TaskCompleteResult>: Taskurai.Worker.TaskCompleteResult

Parameters​
TypeNameDescription
Taskurai.Models.TaskCompleteInputinputTaskurai.Models.TaskCompleteInput.

SleepAsync(string, double, StepStyle)​

Durable sleep step pauses execution of a command for a specified duration or until a specified date/time.

Each step needs an unique step id. When a task is retried, the step is evaluated, when the step was already successfully executed, the result is returned.

Required scope: Data/Buildby.Taskurai/steps/create

Declaration
public Task SleepAsync(string id, double seconds, StepStyle stepStyle = StepStyle.Suspend)
Returns​

System.Threading.Tasks.Task

Parameters​
TypeNameDescription
System.StringidA unique step id.
System.DoublesecondsSleep for seconds.
Taskurai.Models.StepStylestepStyleStep style: suspend the command (default) or wait until completed Taskurai.Models.StepStyle.

SleepAsync(string, DateTimeOffset, StepStyle)​

Durable sleep step pauses execution of a command for a specified duration or until a specified date/time.

Each step needs an unique step id. When a task is retried, the step is evaluated, when the step was already successfully executed, the result is returned.

Required scope: Data/Buildby.Taskurai/steps/create

Declaration
public Task SleepAsync(string id, DateTimeOffset dateTime, StepStyle stepStyle = StepStyle.Suspend)
Returns​

System.Threading.Tasks.Task

Parameters​
TypeNameDescription
System.StringidA unique step id.
System.DateTimeOffsetdateTimeSleep until date/time.
Taskurai.Models.StepStylestepStyleStep style: suspend the command (default) or wait until completed Taskurai.Models.StepStyle.

WaitForExternalEventAsync(string, string, long?, StepTrackingOptions, Func<StepResponse, Progress, bool>, Func<StepResponse, Progress, Task<bool>>, StepStyle)​

Durable wait for specified event to be raised.

To raise an event, use the method TaskuraiClient.RaiseTaskEventAsync or TaskuraiClient.RaiseTaskEvent.

Each step needs an unique step id. When a task is retried, the step is evaluated, when the step was already successfully executed, the result is returned.

Required scope: Data/Buildby.Taskurai/steps/create

Optional scope to return sensitive data: Data/Buildby.Taskurai/sensitive/read. Optional scope to return read global secrets: Data/Buildby.Taskurai/secrets/read.

Declaration
public Task<ExternalEvent> WaitForExternalEventAsync(string id, string eventName, long? maxDuration = -1, StepTrackingOptions options = null, Func<StepResponse, Progress, bool> progress = null, Func<StepResponse, Progress, Task<bool>> progressAsync = null, StepStyle stepStyle = StepStyle.Suspend)
Returns​

System.Threading.Tasks.Task<Taskurai.Models.ExternalEvent>: Taskurai.Models.ExternalEvent

Parameters​
TypeNameDescription
System.StringidA unique step id.
System.StringeventNameEvent name.
System.Nullable<System.Int64>maxDurationMaximum duration in seconds from start time to end time, -1 = unlimited.
Taskurai.Worker.StepTrackingOptionsoptionsStep tracking options Taskurai.Worker.StepTrackingOptions
System.Func<Taskurai.Models.StepResponse,Taskurai.Models.Progress,System.Boolean>progressProgress delegate System.Action%602, only called when stepStyle is StepStyle.Suspend.
System.Func<Taskurai.Models.StepResponse,Taskurai.Models.Progress,System.Threading.Tasks.Task<System.Boolean>>progressAsyncAsync progress delegate System.Func%603, only called when stepStyle is StepStyle.Suspend.
Taskurai.Models.StepStylestepStyleStep style: suspend the command (default) or wait until completed Taskurai.Models.StepStyle.

WaitForExternalEventAsync<T>(string, string, long?, StepTrackingOptions, Func<StepResponse, Progress, bool>, Func<StepResponse, Progress, Task<bool>>, StepStyle)​

Durable wait for specified event to be raised.

To raise an event, use the method TaskuraiClient.RaiseTaskEventAsync or TaskuraiClient.RaiseTaskEvent.

Each step needs an unique step id. When a task is retried, the step is evaluated, when the step was already successfully executed, the result is returned.

Required scope: Data/Buildby.Taskurai/steps/create

Optional scope to return sensitive data: Data/Buildby.Taskurai/sensitive/read. Optional scope to return read global secrets: Data/Buildby.Taskurai/secrets/read.

Declaration
public Task<T> WaitForExternalEventAsync<T>(string id, string eventName, long? maxDuration = -1, StepTrackingOptions options = null, Func<StepResponse, Progress, bool> progress = null, Func<StepResponse, Progress, Task<bool>> progressAsync = null, StepStyle stepStyle = StepStyle.Suspend)
Returns​

System.Threading.Tasks.Task<<T>>: Returns event data.

Parameters​
TypeNameDescription
System.StringidA unique step id.
System.StringeventNameEvent name.
System.Nullable<System.Int64>maxDurationMaximum duration in seconds from start time to end time, -1 = unlimited.
Taskurai.Worker.StepTrackingOptionsoptionsStep tracking options Taskurai.Worker.StepTrackingOptions
System.Func<Taskurai.Models.StepResponse,Taskurai.Models.Progress,System.Boolean>progressProgress delegate System.Action%602, only called when stepStyle is StepStyle.Suspend.
System.Func<Taskurai.Models.StepResponse,Taskurai.Models.Progress,System.Threading.Tasks.Task<System.Boolean>>progressAsyncAsync progress delegate System.Func%603, only called when stepStyle is StepStyle.Suspend.
Taskurai.Models.StepStylestepStyleStep style: suspend the command (default) or wait until completed Taskurai.Models.StepStyle.
Type Parameters​
  • T

WaitForTaskCompletionEventAsync(string, string, long?, StepTrackingOptions, Func<StepResponse, Progress, bool>, Func<StepResponse, Progress, Task<bool>>, StepStyle)​

Durable wait for a task to be completed (Succeeded or Failed, Canceled after optional retries).

Each step needs an unique step id. When a task is retried, the step is evaluated, when the step was already successfully executed, the result is returned.

Required scope: Data/Buildby.Taskurai/steps/create

Optional scope to return sensitive data: Data/Buildby.Taskurai/sensitive/read. Optional scope to return read global secrets: Data/Buildby.Taskurai/secrets/read.

Declaration
public Task<TaskCompletionEvent> WaitForTaskCompletionEventAsync(string id, string subTaskId, long? maxDuration = -1, StepTrackingOptions options = null, Func<StepResponse, Progress, bool> progress = null, Func<StepResponse, Progress, Task<bool>> progressAsync = null, StepStyle stepStyle = StepStyle.Suspend)
Returns​

System.Threading.Tasks.Task<Taskurai.Models.TaskCompletionEvent>: Taskurai.Models.TaskCompletionEvent

Parameters​
TypeNameDescription
System.StringidA unique step id.
System.StringsubTaskIdSub task id.
System.Nullable<System.Int64>maxDurationMaximum duration in seconds from start time to end time, -1 = unlimited.
Taskurai.Worker.StepTrackingOptionsoptionsStep tracking options Taskurai.Worker.StepTrackingOptions
System.Func<Taskurai.Models.StepResponse,Taskurai.Models.Progress,System.Boolean>progressProgress delegate System.Action%602, only called when stepStyle is StepStyle.Suspend.
System.Func<Taskurai.Models.StepResponse,Taskurai.Models.Progress,System.Threading.Tasks.Task<System.Boolean>>progressAsyncAsync progress delegate System.Func%603, only called when stepStyle is StepStyle.Suspend.
Taskurai.Models.StepStylestepStyleStep style: suspend the command (default) or wait until completed Taskurai.Models.StepStyle.

WaitForTaskCompletionEventAsync<T>(string, string, long?, StepTrackingOptions, Func<StepResponse, Progress, bool>, Func<StepResponse, Progress, Task<bool>>, StepStyle)​

Durable wait for a task to be completed (Succeeded or Failed, Canceled after optional retries).

Each step needs an unique step id. When a task is retried, the step is evaluated, when the step was already successfully executed, the result is returned.

Required scope: Data/Buildby.Taskurai/steps/create

Optional scope to return sensitive data: Data/Buildby.Taskurai/sensitive/read. Optional scope to return read global secrets: Data/Buildby.Taskurai/secrets/read.

Declaration
public Task<T> WaitForTaskCompletionEventAsync<T>(string id, string subTaskId, long? maxDuration = -1, StepTrackingOptions options = null, Func<StepResponse, Progress, bool> progress = null, Func<StepResponse, Progress, Task<bool>> progressAsync = null, StepStyle stepStyle = StepStyle.Suspend)
Returns​

System.Threading.Tasks.Task<<T>>: Returns task output data (only single value supported).

Parameters​
TypeNameDescription
System.StringidA unique step id.
System.StringsubTaskIdSub task id.
System.Nullable<System.Int64>maxDurationMaximum duration in seconds from start time to end time, -1 = unlimited.
Taskurai.Worker.StepTrackingOptionsoptionsStep tracking options Taskurai.Worker.StepTrackingOptions
System.Func<Taskurai.Models.StepResponse,Taskurai.Models.Progress,System.Boolean>progressProgress delegate System.Action%602, only called when stepStyle is StepStyle.Suspend.
System.Func<Taskurai.Models.StepResponse,Taskurai.Models.Progress,System.Threading.Tasks.Task<System.Boolean>>progressAsyncAsync progress delegate System.Func%603, only called when stepStyle is StepStyle.Suspend.
Taskurai.Models.StepStylestepStyleStep style: suspend the command (default) or wait until completed Taskurai.Models.StepStyle.
Type Parameters​
  • T

WaitForExternalEventsAsync(string, IList<string>, long?, StepTrackingOptions, Func<StepResponse, Progress, bool>, Func<StepResponse, Progress, Task<bool>>, StepStyle)​

Durable wait for specified events to be raised.

To raise an event, use the method TaskuraiClient.RaiseTaskEventAsync or TaskuraiClient.RaiseTaskEvent.

Each step needs an unique step id. When a task is retried, the step is evaluated, when the step was already successfully executed, the result is returned.

Required scope: Data/Buildby.Taskurai/steps/create

Optional scope to return sensitive data: Data/Buildby.Taskurai/sensitive/read. Optional scope to return read global secrets: Data/Buildby.Taskurai/secrets/read.

Declaration
public Task<List<ExternalEvent>> WaitForExternalEventsAsync(string id, IList<string> eventNames, long? maxDuration = -1, StepTrackingOptions options = null, Func<StepResponse, Progress, bool> progress = null, Func<StepResponse, Progress, Task<bool>> progressAsync = null, StepStyle stepStyle = StepStyle.Suspend)
Returns​

System.Threading.Tasks.Task<System.Collections.Generic.List<Taskurai.Models.ExternalEvent>>: System.Collections.Generic.List%601

Parameters​
TypeNameDescription
System.StringidA unique step id.
System.Collections.Generic.IList<System.String>eventNamesList of event names.
System.Nullable<System.Int64>maxDurationMaximum duration in seconds from start time to end time, -1 = unlimited.
Taskurai.Worker.StepTrackingOptionsoptionsStep tracking options Taskurai.Worker.StepTrackingOptions
System.Func<Taskurai.Models.StepResponse,Taskurai.Models.Progress,System.Boolean>progressProgress delegate System.Action%602, only called when stepStyle is StepStyle.Suspend.
System.Func<Taskurai.Models.StepResponse,Taskurai.Models.Progress,System.Threading.Tasks.Task<System.Boolean>>progressAsyncAsync progress delegate System.Func%603, only called when stepStyle is StepStyle.Suspend.
Taskurai.Models.StepStylestepStyleStep style: suspend the command (default) or wait until completed Taskurai.Models.StepStyle.

WaitForExternalEventsAsync<T>(string, IList<string>, long?, StepTrackingOptions, Func<StepResponse, Progress, bool>, Func<StepResponse, Progress, Task<bool>>, StepStyle)​

Durable wait for specified events to be raised.

To raise an event, use the method TaskuraiClient.RaiseTaskEventAsync or TaskuraiClient.RaiseTaskEvent.

Each step needs an unique step id. When a task is retried, the step is evaluated, when the step was already successfully executed, the result is returned.

Required scope: Data/Buildby.Taskurai/steps/create

Optional scope to return sensitive data: Data/Buildby.Taskurai/sensitive/read. Optional scope to return read global secrets: Data/Buildby.Taskurai/secrets/read.

Declaration
public Task<List<T>> WaitForExternalEventsAsync<T>(string id, IList<string> eventNames, long? maxDuration = -1, StepTrackingOptions options = null, Func<StepResponse, Progress, bool> progress = null, Func<StepResponse, Progress, Task<bool>> progressAsync = null, StepStyle stepStyle = StepStyle.Suspend)
Returns​

System.Threading.Tasks.Task<System.Collections.Generic.List<<T>>>: Returns external event data (only event with same event data are supported), casted to specified type System.Collections.Generic.IEnumerable%601.

Parameters​
TypeNameDescription
System.StringidA unique step id.
System.Collections.Generic.IList<System.String>eventNamesList of event names.
System.Nullable<System.Int64>maxDurationMaximum duration in seconds from start time to end time, -1 = unlimited.
Taskurai.Worker.StepTrackingOptionsoptionsStep tracking options Taskurai.Worker.StepTrackingOptions
System.Func<Taskurai.Models.StepResponse,Taskurai.Models.Progress,System.Boolean>progressProgress delegate System.Func%603, only called when stepStyle is StepStyle.Suspend.
System.Func<Taskurai.Models.StepResponse,Taskurai.Models.Progress,System.Threading.Tasks.Task<System.Boolean>>progressAsyncAsync progress delegate System.Func%603, only called when stepStyle is StepStyle.Suspend.
Taskurai.Models.StepStylestepStyleStep style: suspend the command (default) or wait until completed Taskurai.Models.StepStyle.
Type Parameters​
  • T

WaitForTaskCompletionEventsAsync(string, string, long?, StepTrackingOptions, Func<StepResponse, Progress, bool>, Func<StepResponse, Progress, Task<bool>>, StepStyle)​

Durable wait for specified tasks to be completed (Succeeded or Failed, Canceled after optional retries).

Each step needs an unique step id. When a task is retried, the step is evaluated, when the step was already successfully executed, the result is returned.

Required scope: Data/Buildby.Taskurai/steps/create

Optional scope to return sensitive data: Data/Buildby.Taskurai/sensitive/read. Optional scope to return read global secrets: Data/Buildby.Taskurai/secrets/read.

Declaration
public Task<List<TaskCompletionEvent>> WaitForTaskCompletionEventsAsync(string id, string subTaskId, long? maxDuration = -1, StepTrackingOptions options = null, Func<StepResponse, Progress, bool> progress = null, Func<StepResponse, Progress, Task<bool>> progressAsync = null, StepStyle stepStyle = StepStyle.Suspend)
Returns​

System.Threading.Tasks.Task<System.Collections.Generic.List<Taskurai.Models.TaskCompletionEvent>>: System.Collections.Generic.List%601

Parameters​
TypeNameDescription
System.StringidA unique step id.
System.StringsubTaskIdSub task id.
System.Nullable<System.Int64>maxDurationMaximum duration in seconds from start time to end time, -1 = unlimited.
Taskurai.Worker.StepTrackingOptionsoptionsStep tracking options Taskurai.Worker.StepTrackingOptions
System.Func<Taskurai.Models.StepResponse,Taskurai.Models.Progress,System.Boolean>progressProgress delegate System.Action%602, only called when stepStyle is StepStyle.Suspend.
System.Func<Taskurai.Models.StepResponse,Taskurai.Models.Progress,System.Threading.Tasks.Task<System.Boolean>>progressAsyncAsync progress delegate System.Func%603, only called when stepStyle is StepStyle.Suspend.
Taskurai.Models.StepStylestepStyleStep style: suspend the command (default) or wait until completed Taskurai.Models.StepStyle.

WaitForTaskCompletionEventsAsync<T>(string, string, long?, StepTrackingOptions, Func<StepResponse, Progress, bool>, Func<StepResponse, Progress, Task<bool>>, StepStyle)​

Durable wait for specified tasks to be completed (Succeeded or Failed, Canceled after optional retries).

Each step needs an unique step id. When a task is retried, the step is evaluated, when the step was already successfully executed, the result is returned.

Required scope: Data/Buildby.Taskurai/steps/create

Optional scope to return sensitive data: Data/Buildby.Taskurai/sensitive/read. Optional scope to return read global secrets: Data/Buildby.Taskurai/secrets/read.

Declaration
public Task<List<T>> WaitForTaskCompletionEventsAsync<T>(string id, string subTaskId, long? maxDuration = -1, StepTrackingOptions options = null, Func<StepResponse, Progress, bool> progress = null, Func<StepResponse, Progress, Task<bool>> progressAsync = null, StepStyle stepStyle = StepStyle.Suspend)
Returns​

System.Threading.Tasks.Task<System.Collections.Generic.List<<T>>>: Returns task output data (only single value supported), casted to specified type System.Collections.Generic.IEnumerable%601.

Parameters​
TypeNameDescription
System.StringidA unique step id.
System.StringsubTaskIdSub task id.
System.Nullable<System.Int64>maxDurationMaximum duration in seconds from start time to end time, -1 = unlimited.
Taskurai.Worker.StepTrackingOptionsoptionsStep tracking options Taskurai.Worker.StepTrackingOptions
System.Func<Taskurai.Models.StepResponse,Taskurai.Models.Progress,System.Boolean>progressProgress delegate System.Action%602, only called when stepStyle is StepStyle.Suspend.
System.Func<Taskurai.Models.StepResponse,Taskurai.Models.Progress,System.Threading.Tasks.Task<System.Boolean>>progressAsyncAsync progress delegate System.Func%603, only called when stepStyle is StepStyle.Suspend.
Taskurai.Models.StepStylestepStyleStep style: suspend the command (default) or wait until completed Taskurai.Models.StepStyle.
Type Parameters​
  • T

WaitForExternalEventsAsync(string, IList<string>, IList<string>, long?, StepTrackingOptions, Func<StepResponse, Progress, bool>, Func<StepResponse, Progress, Task<bool>>, StepStyle)​

Durable wait for specified event to be raised or for specified tasks to be completed (Succeeded or Failed, Canceled after optional retries).

To raise an event, use the method TaskuraiClient.RaiseTaskEventAsync or TaskuraiClient.RaiseTaskEvent.

Each step needs an unique step id. When a task is retried, the step is evaluated, when the step was already successfully executed, the result is returned.

Required scope: Data/Buildby.Taskurai/steps/create

Optional scope to return sensitive data: Data/Buildby.Taskurai/sensitive/read. Optional scope to return read global secrets: Data/Buildby.Taskurai/secrets/read.

Declaration
public Task<List<ExternalEvent>> WaitForExternalEventsAsync(string id, IList<string> eventNames, IList<string> completedSubTaskIds, long? maxDuration = -1, StepTrackingOptions options = null, Func<StepResponse, Progress, bool> progress = null, Func<StepResponse, Progress, Task<bool>> progressAsync = null, StepStyle stepStyle = StepStyle.Suspend)
Returns​

System.Threading.Tasks.Task<System.Collections.Generic.List<Taskurai.Models.ExternalEvent>>: System.Collections.Generic.List%601

Parameters​
TypeNameDescription
System.StringidA unique step id.
System.Collections.Generic.IList<System.String>eventNamesList of event names.
System.Collections.Generic.IList<System.String>completedSubTaskIdsList of task ids.
System.Nullable<System.Int64>maxDurationMaximum duration in seconds from start time to end time, -1 = unlimited.
Taskurai.Worker.StepTrackingOptionsoptionsStep tracking options Taskurai.Worker.StepTrackingOptions
System.Func<Taskurai.Models.StepResponse,Taskurai.Models.Progress,System.Boolean>progressProgress delegate System.Action%602, only called when stepStyle is StepStyle.Suspend.
System.Func<Taskurai.Models.StepResponse,Taskurai.Models.Progress,System.Threading.Tasks.Task<System.Boolean>>progressAsyncAsync progress delegate System.Func%603, only called when stepStyle is StepStyle.Suspend.
Taskurai.Models.StepStylestepStyleStep style: suspend the command (default) or wait until completed Taskurai.Models.StepStyle.

CallTaskAsync<T>(string, Func<StepResponse, TaskConfig>, Func<StepResponse, Task<TaskConfig>>, long?, StepTrackingOptions, Action<StepResponse, Progress>, Func<StepResponse, Progress, Task>, StepStyle)​

Durable create tasks and wait tasks to be completed (Succeeded or Failed, Canceled after optional retries).

To raise an event, use the method TaskuraiClient.RaiseTaskEventAsync or TaskuraiClient.RaiseTaskEvent.

Each step needs an unique step id. When a task is retried, the step is evaluated, when the step was already successfully executed, the result is returned.

Required scope: Data/Buildby.Taskurai/steps/create

Optional scope to return sensitive data: Data/Buildby.Taskurai/sensitive/read. Optional scope to return read global secrets: Data/Buildby.Taskurai/secrets/read.

Declaration
public Task<T> CallTaskAsync<T>(string id, Func<StepResponse, TaskConfig> init = null, Func<StepResponse, Task<TaskConfig>> initAsync = null, long? maxDuration = -1, StepTrackingOptions options = null, Action<StepResponse, Progress> progress = null, Func<StepResponse, Progress, Task> progressAsync = null, StepStyle stepStyle = StepStyle.Suspend)
Returns​

System.Threading.Tasks.Task<<T>>: Returns task output data (only single value supported).

Parameters​
TypeNameDescription
System.StringidA unique step id.
System.Func<Taskurai.Models.StepResponse,Taskurai.Models.TaskConfig>initInitialize task configuration delegate only called when step is initializing.
System.Func<Taskurai.Models.StepResponse,System.Threading.Tasks.Task<Taskurai.Models.TaskConfig>>initAsyncInitialize task configuration async delegate only called when step is initializing.
System.Nullable<System.Int64>maxDurationMaximum duration in seconds from start time to end time, -1 = unlimited.
Taskurai.Worker.StepTrackingOptionsoptionsStep tracking options Taskurai.Worker.StepTrackingOptions
System.Action<Taskurai.Models.StepResponse,Taskurai.Models.Progress>progressProgress delegate System.Action%602, only called when stepStyle is StepStyle.Suspend.
System.Func<Taskurai.Models.StepResponse,Taskurai.Models.Progress,System.Threading.Tasks.Task>progressAsyncAsync progress delegate System.Func%603, only called when stepStyle is StepStyle.Suspend.
Taskurai.Models.StepStylestepStyleStep style: suspend the command (default) or wait until completed Taskurai.Models.StepStyle.
Type Parameters​
  • T

CallTaskAsync(string, Func<StepResponse, TaskConfig>, Func<StepResponse, Task<TaskConfig>>, long?, StepTrackingOptions, Action<StepResponse, Progress>, Func<StepResponse, Progress, Task>, StepStyle)​

Durable create tasks and wait tasks to be completed (Succeeded or Failed, Canceled after optional retries).

To raise an event, use the method TaskuraiClient.RaiseTaskEventAsync or TaskuraiClient.RaiseTaskEvent.

Each step needs an unique step id. When a task is retried, the step is evaluated, when the step was already successfully executed, the result is returned.

Required scope: Data/Buildby.Taskurai/steps/create

Optional scope to return sensitive data: Data/Buildby.Taskurai/sensitive/read. Optional scope to return read global secrets: Data/Buildby.Taskurai/secrets/read.

Declaration
public Task<TaskResponse> CallTaskAsync(string id, Func<StepResponse, TaskConfig> init = null, Func<StepResponse, Task<TaskConfig>> initAsync = null, long? maxDuration = -1, StepTrackingOptions options = null, Action<StepResponse, Progress> progress = null, Func<StepResponse, Progress, Task> progressAsync = null, StepStyle stepStyle = StepStyle.Suspend)
Returns​

System.Threading.Tasks.Task<Taskurai.Models.TaskResponse>: Taskurai.Models.TaskResponse

Parameters​
TypeNameDescription
System.StringidA unique step id.
System.Func<Taskurai.Models.StepResponse,Taskurai.Models.TaskConfig>initInitialize task configuration delegate only called when step is initializing.
System.Func<Taskurai.Models.StepResponse,System.Threading.Tasks.Task<Taskurai.Models.TaskConfig>>initAsyncInitialize task configuration async delegate only called when step is initializing.
System.Nullable<System.Int64>maxDurationMaximum duration in seconds from start time to end time, -1 = unlimited.
Taskurai.Worker.StepTrackingOptionsoptionsStep tracking options Taskurai.Worker.StepTrackingOptions
System.Action<Taskurai.Models.StepResponse,Taskurai.Models.Progress>progressProgress delegate System.Action%602, only called when stepStyle is StepStyle.Suspend.
System.Func<Taskurai.Models.StepResponse,Taskurai.Models.Progress,System.Threading.Tasks.Task>progressAsyncAsync progress delegate System.Func%603, only called when stepStyle is StepStyle.Suspend.
Taskurai.Models.StepStylestepStyleStep style: suspend the command (default) or wait until completed Taskurai.Models.StepStyle.

CallTasksAsync<T>(string, Action<StepResponse, IList<TaskConfig>>, Func<StepResponse, IList<TaskConfig>, Task>, long?, StepTrackingOptions, Action<StepResponse, Progress>, Func<StepResponse, Progress, Task>, StepStyle)​

Durable create tasks and wait tasks to be completed (Succeeded or Failed, Canceled after optional retries).

Each step needs an unique step id. When a task is retried, the step is evaluated, when the step was already successfully executed, the result is returned.

Required scope: Data/Buildby.Taskurai/steps/create

Optional scope to return sensitive data: Data/Buildby.Taskurai/sensitive/read. Optional scope to return read global secrets: Data/Buildby.Taskurai/secrets/read.

Declaration
public Task<List<T>> CallTasksAsync<T>(string id, Action<StepResponse, IList<TaskConfig>> init = null, Func<StepResponse, IList<TaskConfig>, Task> initAsync = null, long? maxDuration = -1, StepTrackingOptions options = null, Action<StepResponse, Progress> progress = null, Func<StepResponse, Progress, Task> progressAsync = null, StepStyle stepStyle = StepStyle.Suspend)
Returns​

System.Threading.Tasks.Task<System.Collections.Generic.List<<T>>>: Returns task output data (only single value supported), casted to specified type System.Collections.Generic.IEnumerable%601.

Parameters​
TypeNameDescription
System.StringidA unique step id.
System.Action<Taskurai.Models.StepResponse,System.Collections.Generic.IList<Taskurai.Models.TaskConfig>>initInitialize task configuration delegate only called when step is initializing.
System.Func<Taskurai.Models.StepResponse,System.Collections.Generic.IList<Taskurai.Models.TaskConfig>,System.Threading.Tasks.Task>initAsyncInitialize task configuration async delegate only called when step is initializing.
System.Nullable<System.Int64>maxDurationMaximum duration in seconds from start time to end time, -1 = unlimited.
Taskurai.Worker.StepTrackingOptionsoptionsStep tracking options Taskurai.Worker.StepTrackingOptions
System.Action<Taskurai.Models.StepResponse,Taskurai.Models.Progress>progressProgress delegate System.Action%602, only called when stepStyle is StepStyle.Suspend.
System.Func<Taskurai.Models.StepResponse,Taskurai.Models.Progress,System.Threading.Tasks.Task>progressAsyncAsync progress delegate System.Func%603, only called when stepStyle is StepStyle.Suspend.
Taskurai.Models.StepStylestepStyleStep style: suspend the command (default) or wait until completed Taskurai.Models.StepStyle.
Type Parameters​
  • T

CallTasksAsync(string, Action<StepResponse, IList<TaskConfig>>, Func<StepResponse, IList<TaskConfig>, Task>, long?, StepTrackingOptions, Action<StepResponse, Progress>, Func<StepResponse, Progress, Task>, StepStyle)​

Durable create tasks and wait tasks to be completed (Succeeded or Failed, Canceled after optional retries).

Each step needs an unique step id. When a task is retried, the step is evaluated, when the step was already successfully executed, the result is returned.

Required scope: Data/Buildby.Taskurai/steps/create

Optional scope to return sensitive data: Data/Buildby.Taskurai/sensitive/read. Optional scope to return read global secrets: Data/Buildby.Taskurai/secrets/read.

Declaration
public Task<List<TaskResponse>> CallTasksAsync(string id, Action<StepResponse, IList<TaskConfig>> init = null, Func<StepResponse, IList<TaskConfig>, Task> initAsync = null, long? maxDuration = -1, StepTrackingOptions options = null, Action<StepResponse, Progress> progress = null, Func<StepResponse, Progress, Task> progressAsync = null, StepStyle stepStyle = StepStyle.Suspend)
Returns​

System.Threading.Tasks.Task<System.Collections.Generic.List<Taskurai.Models.TaskResponse>>: System.Collections.Generic.List%601

Parameters​
TypeNameDescription
System.StringidA unique step id.
System.Action<Taskurai.Models.StepResponse,System.Collections.Generic.IList<Taskurai.Models.TaskConfig>>initInitialize task configuration delegate only called when step is initializing.
System.Func<Taskurai.Models.StepResponse,System.Collections.Generic.IList<Taskurai.Models.TaskConfig>,System.Threading.Tasks.Task>initAsyncInitialize task configuration async delegate only called when step is initializing.
System.Nullable<System.Int64>maxDurationMaximum duration in seconds from start time to end time, -1 = unlimited.
Taskurai.Worker.StepTrackingOptionsoptionsStep tracking options Taskurai.Worker.StepTrackingOptions
System.Action<Taskurai.Models.StepResponse,Taskurai.Models.Progress>progressProgress delegate System.Action%602, only called when stepStyle is StepStyle.Suspend.
System.Func<Taskurai.Models.StepResponse,Taskurai.Models.Progress,System.Threading.Tasks.Task>progressAsyncAsync progress delegate System.Func%603, only called when stepStyle is StepStyle.Suspend.
Taskurai.Models.StepStylestepStyleStep style: suspend the command (default) or wait until completed Taskurai.Models.StepStyle.

CreateTaskAsync(string, Func<StepResponse, TaskConfig>, Func<StepResponse, Task<TaskConfig>>)​

Durable create tasks. This method does not wait for the task to be completed.

Each step needs an unique step id. When a task is retried, the step is evaluated, when the step was already successfully executed, the result is returned.

Required scope: Data/Buildby.Taskurai/steps/create

Optional scope to return sensitive data: Data/Buildby.Taskurai/sensitive/read. Optional scope to return read global secrets: Data/Buildby.Taskurai/secrets/read.

Declaration
public Task<TaskResponse> CreateTaskAsync(string id, Func<StepResponse, TaskConfig> init = null, Func<StepResponse, Task<TaskConfig>> initAsync = null)
Returns​

System.Threading.Tasks.Task<Taskurai.Models.TaskResponse>: Taskurai.Models.TaskResponse

Parameters​
TypeNameDescription
System.StringidA unique step id.
System.Func<Taskurai.Models.StepResponse,Taskurai.Models.TaskConfig>initInitialize task configuration delegate only called when step is initializing.
System.Func<Taskurai.Models.StepResponse,System.Threading.Tasks.Task<Taskurai.Models.TaskConfig>>initAsyncInitialize task configuration async delegate only called when step is initializing.

CreateTasksAsync(string, Action<StepResponse, IList<TaskConfig>>, Func<StepResponse, IList<TaskConfig>, Task>)​

Durable create tasks. This method does not wait for the task to be completed.

Each step needs an unique step id. When a task is retried, the step is evaluated, when the step was already successfully executed, the result is returned.

Required scope: Data/Buildby.Taskurai/steps/create

Optional scope to return sensitive data: Data/Buildby.Taskurai/sensitive/read. Optional scope to return read global secrets: Data/Buildby.Taskurai/secrets/read.

Declaration
public Task<List<TaskResponse>> CreateTasksAsync(string id, Action<StepResponse, IList<TaskConfig>> init = null, Func<StepResponse, IList<TaskConfig>, Task> initAsync = null)
Returns​

System.Threading.Tasks.Task<System.Collections.Generic.List<Taskurai.Models.TaskResponse>>: System.Collections.Generic.List%601

Parameters​
TypeNameDescription
System.StringidA unique step id.
System.Action<Taskurai.Models.StepResponse,System.Collections.Generic.IList<Taskurai.Models.TaskConfig>>initInitialize task configuration delegate only called when step is initializing.
System.Func<Taskurai.Models.StepResponse,System.Collections.Generic.IList<Taskurai.Models.TaskConfig>,System.Threading.Tasks.Task>initAsyncInitialize task configuration async delegate only called when step is initializing.

RunInlineAsync<T>(string, Action<StepResponse, IList<StepArgument>>, Func<StepResponse, IList<StepArgument>, Task>, Delegate, double?, StepExecutionOptions)​

Durable run code inline.

Each step needs an unique step id. When a task is retried, the step is evaluated, when the step was already successfully executed, the result is returned.

Required scope: Data/Buildby.Taskurai/steps/create

Optional scope to return sensitive data: Data/Buildby.Taskurai/sensitive/read. Optional scope to return read global secrets: Data/Buildby.Taskurai/secrets/read.

Declaration
public Task<T> RunInlineAsync<T>(string id, Action<StepResponse, IList<StepArgument>> init = null, Func<StepResponse, IList<StepArgument>, Task> initAsync = null, Delegate run = null, double? runTimeout = null, StepExecutionOptions executionOptions = null)
Returns​

System.Threading.Tasks.Task<<T>>: Returns step output data (only single value supported).

Parameters​
TypeNameDescription
System.StringidA unique step id.
System.Action<Taskurai.Models.StepResponse,System.Collections.Generic.IList<Taskurai.Models.StepArgument>>initInitialize step configuration delegate only called when step is initializing.
Ensures the step is initialized only once with deterministic values such as GUIDs, timestamps, and
other state-defining data. This guarantees idempotency and prevents variability during retries,
ensuring consistent and predictable behavior.
System.Func<Taskurai.Models.StepResponse,System.Collections.Generic.IList<Taskurai.Models.StepArgument>,System.Threading.Tasks.Task>initAsyncInitialize step configuration async delegate only called when step is initializing.
Ensures the step is initialized only once with deterministic values such as GUIDs, timestamps, and
other state-defining data. This guarantees idempotency and prevents variability during retries,
ensuring consistent and predictable behavior.
System.DelegaterunRun code inline. Initialize non-deterministic values in the initialization delegate.
This code can rerun on task or step failure (depending on the execution options of the task and the step).
Supports both sync and async delegates.
System.Nullable<System.Double>runTimeoutRun timeout in seconds for the current run (Total maximum duration of the step can be set in executionOptions -> MaxDuration).
Taskurai.Models.StepExecutionOptionsexecutionOptionsStep execution options: max duration and retry options Taskurai.Models.StepExecutionOptions.
Type Parameters​
  • T

RunInlineAsync(string, Action<StepResponse, IList<StepArgument>>, Func<StepResponse, IList<StepArgument>, Task>, Delegate, double?, StepExecutionOptions)​

Durable run code inline.

Each step needs an unique step id. When a task is retried, the step is evaluated, when the step was already successfully executed, the result is returned.

Required scope: Data/Buildby.Taskurai/steps/create

Optional scope to return sensitive data: Data/Buildby.Taskurai/sensitive/read. Optional scope to return read global secrets: Data/Buildby.Taskurai/secrets/read.

Declaration
public Task<StepResponse> RunInlineAsync(string id, Action<StepResponse, IList<StepArgument>> init = null, Func<StepResponse, IList<StepArgument>, Task> initAsync = null, Delegate run = null, double? runTimeout = null, StepExecutionOptions executionOptions = null)
Returns​

System.Threading.Tasks.Task<Taskurai.Models.StepResponse>: Taskurai.Models.StepResponse

Parameters​
TypeNameDescription
System.StringidA unique step id.
System.Action<Taskurai.Models.StepResponse,System.Collections.Generic.IList<Taskurai.Models.StepArgument>>initInitialize step configuration delegate only called when step is initializing.
Ensures the step is initialized only once with deterministic values such as GUIDs, timestamps, and
other state-defining data. This guarantees idempotency and prevents variability during retries,
ensuring consistent and predictable behavior.
System.Func<Taskurai.Models.StepResponse,System.Collections.Generic.IList<Taskurai.Models.StepArgument>,System.Threading.Tasks.Task>initAsyncInitialize step configuration async delegate only called when step is initializing.
Ensures the step is initialized only once with deterministic values such as GUIDs, timestamps, and
other state-defining data. This guarantees idempotency and prevents variability during retries,
ensuring consistent and predictable behavior.
System.DelegaterunRun code inline. Initialize non-deterministic values in the initialization delegate.
This code can rerun on task or step failure (depending on the execution options of the task and the step).
Supports both sync and async delegates.
System.Nullable<System.Double>runTimeoutRun timeout in seconds for the current run (Total maximum duration of the step can be set in executionOptions -> MaxDuration).
Taskurai.Models.StepExecutionOptionsexecutionOptionsStep execution options: max duration and retry options Taskurai.Models.StepExecutionOptions.

Implements​

  • System.IDisposable