Table of Contents

Class NexusOperationExecutionInfo

Namespace
Temporalio.Api.Nexus.V1
Assembly
Temporalio.dll

Full current state of a standalone Nexus operation, as of the time of the request.

public sealed class NexusOperationExecutionInfo : IMessage<NexusOperationExecutionInfo>, IEquatable<NexusOperationExecutionInfo>, IDeepCloneable<NexusOperationExecutionInfo>, IBufferMessage, IMessage
Inheritance
NexusOperationExecutionInfo
Implements
IBufferMessage
IMessage
Inherited Members

Constructors

NexusOperationExecutionInfo()

public NexusOperationExecutionInfo()

NexusOperationExecutionInfo(NexusOperationExecutionInfo)

public NexusOperationExecutionInfo(NexusOperationExecutionInfo other)

Parameters

other NexusOperationExecutionInfo

Fields

AttemptFieldNumber

Field number for the "attempt" field.

public const int AttemptFieldNumber = 11

Field Value

int

BlockedReasonFieldNumber

Field number for the "blocked_reason" field.

public const int BlockedReasonFieldNumber = 20

Field Value

int

CancellationInfoFieldNumber

Field number for the "cancellation_info" field.

public const int CancellationInfoFieldNumber = 19

Field Value

int

CloseTimeFieldNumber

Field number for the "close_time" field.

public const int CloseTimeFieldNumber = 14

Field Value

int

EndpointFieldNumber

Field number for the "endpoint" field.

public const int EndpointFieldNumber = 3

Field Value

int

ExecutionDurationFieldNumber

Field number for the "execution_duration" field.

public const int ExecutionDurationFieldNumber = 18

Field Value

int

ExpirationTimeFieldNumber

Field number for the "expiration_time" field.

public const int ExpirationTimeFieldNumber = 13

Field Value

int

IdentityFieldNumber

Field number for the "identity" field.

public const int IdentityFieldNumber = 28

Field Value

int

LastAttemptCompleteTimeFieldNumber

Field number for the "last_attempt_complete_time" field.

public const int LastAttemptCompleteTimeFieldNumber = 15

Field Value

int

LastAttemptFailureFieldNumber

Field number for the "last_attempt_failure" field.

public const int LastAttemptFailureFieldNumber = 16

Field Value

int

LinksFieldNumber

Field number for the "links" field.

public const int LinksFieldNumber = 27

Field Value

int

NextAttemptScheduleTimeFieldNumber

Field number for the "next_attempt_schedule_time" field.

public const int NextAttemptScheduleTimeFieldNumber = 17

Field Value

int

NexusHeaderFieldNumber

Field number for the "nexus_header" field.

public const int NexusHeaderFieldNumber = 25

Field Value

int

OperationFieldNumber

Field number for the "operation" field.

public const int OperationFieldNumber = 5

Field Value

int

OperationIdFieldNumber

Field number for the "operation_id" field.

public const int OperationIdFieldNumber = 1

Field Value

int

OperationTokenFieldNumber

Field number for the "operation_token" field.

public const int OperationTokenFieldNumber = 22

Field Value

int

RequestIdFieldNumber

Field number for the "request_id" field.

public const int RequestIdFieldNumber = 21

Field Value

int

RunIdFieldNumber

Field number for the "run_id" field.

public const int RunIdFieldNumber = 2

Field Value

int

ScheduleTimeFieldNumber

Field number for the "schedule_time" field.

public const int ScheduleTimeFieldNumber = 12

Field Value

int

ScheduleToCloseTimeoutFieldNumber

Field number for the "schedule_to_close_timeout" field.

public const int ScheduleToCloseTimeoutFieldNumber = 8

Field Value

int

ScheduleToStartTimeoutFieldNumber

Field number for the "schedule_to_start_timeout" field.

public const int ScheduleToStartTimeoutFieldNumber = 9

Field Value

int

SearchAttributesFieldNumber

Field number for the "search_attributes" field.

public const int SearchAttributesFieldNumber = 24

Field Value

int

ServiceFieldNumber

Field number for the "service" field.

public const int ServiceFieldNumber = 4

Field Value

int

StartToCloseTimeoutFieldNumber

Field number for the "start_to_close_timeout" field.

public const int StartToCloseTimeoutFieldNumber = 10

Field Value

int

StateFieldNumber

Field number for the "state" field.

public const int StateFieldNumber = 7

Field Value

int

StateTransitionCountFieldNumber

Field number for the "state_transition_count" field.

public const int StateTransitionCountFieldNumber = 23

Field Value

int

StatusFieldNumber

Field number for the "status" field.

public const int StatusFieldNumber = 6

Field Value

int

UserMetadataFieldNumber

Field number for the "user_metadata" field.

public const int UserMetadataFieldNumber = 26

Field Value

int

Properties

Attempt

The number of attempts made to deliver the start operation request. This number is approximate, it is incremented when a task is added to the history queue. In practice, there could be more attempts if a task is executed but fails to commit, or less attempts if a task was never executed.

public int Attempt { get; set; }

Property Value

int

BlockedReason

If the state is BLOCKED, blocked reason provides additional information.

public string BlockedReason { get; set; }

Property Value

string

CancellationInfo

public NexusOperationExecutionCancellationInfo CancellationInfo { get; set; }

Property Value

NexusOperationExecutionCancellationInfo

CloseTime

Time when the operation transitioned to a closed state.

public Timestamp CloseTime { get; set; }

Property Value

Timestamp

Descriptor

public static MessageDescriptor Descriptor { get; }

Property Value

MessageDescriptor

Endpoint

Endpoint name, resolved to a URL via the cluster's endpoint registry.

public string Endpoint { get; set; }

Property Value

string

ExecutionDuration

Elapsed time from schedule_time to now for running operations or to close_time for closed operations, including all attempts and backoff between attempts.

public Duration ExecutionDuration { get; set; }

Property Value

Duration

ExpirationTime

Scheduled time + schedule to close timeout.

public Timestamp ExpirationTime { get; set; }

Property Value

Timestamp

Identity

The identity of the client who started this operation.

public string Identity { get; set; }

Property Value

string

LastAttemptCompleteTime

The time when the last attempt completed.

public Timestamp LastAttemptCompleteTime { get; set; }

Property Value

Timestamp

LastAttemptFailure

The last attempt's failure, if any.

public Failure LastAttemptFailure { get; set; }

Property Value

Failure

Links attached by the handler of this operation on start or completion.

public RepeatedField<Link> Links { get; }

Property Value

RepeatedField<Link>

NextAttemptScheduleTime

The time when the next attempt is scheduled.

public Timestamp NextAttemptScheduleTime { get; set; }

Property Value

Timestamp

NexusHeader

Header for context propagation and tracing purposes.

public MapField<string, string> NexusHeader { get; }

Property Value

MapField<string, string>

Operation

Operation name.

public string Operation { get; set; }

Property Value

string

OperationId

Unique identifier of this Nexus operation within its namespace along with run ID (below).

public string OperationId { get; set; }

Property Value

string

OperationToken

Operation token. Only set for asynchronous operations after a successful StartOperation call.

public string OperationToken { get; set; }

Property Value

string

Parser

public static MessageParser<NexusOperationExecutionInfo> Parser { get; }

Property Value

MessageParser<NexusOperationExecutionInfo>

RequestId

Server-generated request ID used as an idempotency token when submitting start requests to the handler. Distinct from the request_id in StartNexusOperationRequest, which is the caller-side idempotency key for the StartNexusOperation RPC itself.

public string RequestId { get; set; }

Property Value

string

RunId

public string RunId { get; set; }

Property Value

string

ScheduleTime

Time the operation was originally scheduled via a StartNexusOperation request.

public Timestamp ScheduleTime { get; set; }

Property Value

Timestamp

ScheduleToCloseTimeout

Schedule-to-close timeout for this operation. (-- api-linter: core::0140::prepositions=disabled aip.dev/not-precedent: "to" is used to indicate interval. --)

public Duration ScheduleToCloseTimeout { get; set; }

Property Value

Duration

ScheduleToStartTimeout

Schedule-to-start timeout for this operation. (-- api-linter: core::0140::prepositions=disabled aip.dev/not-precedent: "to" is used to indicate interval. --)

public Duration ScheduleToStartTimeout { get; set; }

Property Value

Duration

SearchAttributes

public SearchAttributes SearchAttributes { get; set; }

Property Value

SearchAttributes

Service

Service name.

public string Service { get; set; }

Property Value

string

StartToCloseTimeout

Start-to-close timeout for this operation. (-- api-linter: core::0140::prepositions=disabled aip.dev/not-precedent: "to" is used to indicate interval. --)

public Duration StartToCloseTimeout { get; set; }

Property Value

Duration

State

More detailed breakdown of NEXUS_OPERATION_EXECUTION_STATUS_RUNNING.

public PendingNexusOperationState State { get; set; }

Property Value

PendingNexusOperationState

StateTransitionCount

Incremented each time the operation's state is mutated in persistence.

public long StateTransitionCount { get; set; }

Property Value

long

Status

A general status for this operation, indicates whether it is currently running or in one of the terminal statuses. Updated once when the operation is originally scheduled, and again when it reaches a terminal status.

public NexusOperationExecutionStatus Status { get; set; }

Property Value

NexusOperationExecutionStatus

UserMetadata

Metadata for use by user interfaces to display the fixed as-of-start summary and details of the operation.

public UserMetadata UserMetadata { get; set; }

Property Value

UserMetadata

Methods

CalculateSize()

Calculates the size of this message in Protocol Buffer wire format, in bytes.

public int CalculateSize()

Returns

int

The number of bytes required to write this message to a coded output stream.

Clone()

Creates a deep clone of this object.

public NexusOperationExecutionInfo Clone()

Returns

NexusOperationExecutionInfo

A deep clone of this object.

Equals(object)

Determines whether the specified object is equal to the current object.

public override bool Equals(object other)

Parameters

other object

Returns

bool

true if the specified object is equal to the current object; otherwise, false.

Equals(NexusOperationExecutionInfo)

Indicates whether the current object is equal to another object of the same type.

public bool Equals(NexusOperationExecutionInfo other)

Parameters

other NexusOperationExecutionInfo

An object to compare with this object.

Returns

bool

true if the current object is equal to the other parameter; otherwise, false.

GetHashCode()

Serves as the default hash function.

public override int GetHashCode()

Returns

int

A hash code for the current object.

MergeFrom(CodedInputStream)

Merges the data from the specified coded input stream with the current message.

public void MergeFrom(CodedInputStream input)

Parameters

input CodedInputStream

Remarks

See the user guide for precise merge semantics.

MergeFrom(NexusOperationExecutionInfo)

Merges the given message into this one.

public void MergeFrom(NexusOperationExecutionInfo other)

Parameters

other NexusOperationExecutionInfo

Remarks

See the user guide for precise merge semantics.

ToString()

Returns a string that represents the current object.

public override string ToString()

Returns

string

A string that represents the current object.

WriteTo(CodedOutputStream)

Writes the data to the given coded output stream.

public void WriteTo(CodedOutputStream output)

Parameters

output CodedOutputStream

Coded output stream to write the data to. Must not be null.