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